0

データ ビジュアライゼーションを構築しており、軽量で使いやすい基本データ形式として CSV を使用したいと考えています。私のソース データは重い XML なので、Python と lxml を使用して CSV に変換しています。

私の質問はこれです。次のタグのように、XML 内に複数の子タグがある場合<City>:

<Country>
   <Name>France</Name>
   <Cities>
   <City><Name>Paris</Name></City>
   <City><Name>Lyon</Name></City>
   </Cities>
</Country>
<Country>
   <Name>Germany</Name>
   <Cities>
   <City><Name>Berlin</Name></City>
   <City><Name>Munich</Name></City>
   <City><Name>Aachen</Name></City>
   </Cities>
</Country>

CSV ファイルでそれらをどのように表現すればよいですか? 2つの選択肢が考えられます。1 つ目は、CityN までの各都市の列を追加することです。

 Country,City1,City2,City3
 France,Paris,Lyon,,
 Germany,Berlin,Munich,Aachen

2 つ目は、すべての都市に配列を使用することです。

 Country,Cities
 France,[Paris,Lyon]
 Germany,[Berlin,Munich,Aachen]

最適な形式は、データのクエリ方法に依存するだけかもしれませんが、確立された、またはより良い方法があるかどうかを確認するために、ここをチェックすると思いました。

4

1 に答える 1

0

CSV を使用することを考えると、配列バージョンの方が優れており、ドキュメントのフィールド ベースの構造が維持されます。配列の命名法がない場合、カンマはフィールド セパレータとフィールド セパレータ内の値の両方としてオーバーロードされ、レコードの左側からフィールドをカウントする以外に、どちらが機能しているかを判断する方法がありません。

また、非配列バージョンでは、データはレコード タイプごとに 1 つのネストされたコレクションに制限されます。これは現在の例では問題ではありませんが、アプリケーション内の別のレコード タイプの問題である可能性があります。(単一の) 標準的なアプローチを使用すると、明確さと保守性が向上します。

于 2012-05-25T01:00:29.443 に答える