ページへ戻る

− Links

 印刷 

CSVからXMLへ変換 の変更点 :: NJF Wiki

xpwiki:CSVからXMLへ変換 の変更点

« Prev[3]  
1: 2015-06-06 (土) 06:01:05 njf[4] ソース[5] バックアップ No.1 を復元して編集[6]
With "attach" plugin. (Created empty)
現: 2015-06-06 (土) 15:13:19 njf[4] ソース[7] 編集[8]
Line 1: Line 1:
 +ゲームやアプリの設定ファイルで、
 +-CSVは編集が表計算ソフトで出来るので楽だけど、読み込んでちゃんとパースするのが割と面倒。検索とかの機能も自作
 +
 +-一方XMLは大抵の言語でサポートされていて読み込みは楽。大抵要素検索とかも実装済み。一方大きなファイルの編集は面倒。
 +
 +
 +そういうわけで表計算ソフトで編集、CSVで出力してXMLに変換すればいいかと思いツールを作った。ツール本体は添付ファイルを参照&ref(csvToXml.py);。
 +
 +python3が必要
 +
 +使い方は、ファイル内一行目
 +
 + #!/usr/bin/python3
 +
 +をお使いのpython3のパスに変更
 +
 +最終行
 +
 + xmlFile.write("resource/"+fileName.replace("csv","xml"))
 +
 +を出力したいディレクトリ名と拡張子に変更。上のデフォルト値では「resource」ディレクトリに元ファイルのcsvという拡張子をxmlという拡張子にして出力される。
 +なのでファイル編集が面倒ならcsvのあるフォルダにresourceフォルダを作っても良い。
 +
 +入力するCSVファイルに日本語などが含まれるときはUTF-8で保存が必須。表計算ソフトで大抵保存時に指定できる。
 +
 +実行は
 +
 + ./csvToXml.py yourFile.csv
 +
 +とするとルート要素名「items」で各レコードの要素名「item」、各データの要素名が先頭行の名前になっているXMLファイルが出力される。
 +
 +つまり
 +
 + A,B,C
 + 1,2,3
 +
 +
 + <items>
 +    <item>
 +     <A>1</A>
 +     <B>2</B>
 +     <C>3</C>
 +    </item>
 + </items>
 +
 +となる。(実際には改行やタブは無い)
 + 
 +また、日本語は使っているpythonのライブラリの仕様でエンコードされるが、読み込み時にはちゃんとデコードされる。
« Prev[3]