ケーススタディ#1 – 施設情報のcsvファイルを活用した多目的電子データ生成 (8/8)–このページは古い情報です。

[付録] ツールの自製

 このチュートリアルで使用したctojというツールはPythonで作成されています。ctojは汎用性を持たせるためにそれなりに複雑ですが、入力するcsvファイルが定型であれば、定型のJSONファイルに変換する事は結構簡単です。ctojの利用が難しい様であれば、自製する選択肢も検討しては如何でしょうか。

 Pythonを使うとcsvファイルの読み込みは簡単です。読み込んだcsvファイルは、プログラム内では辞書(dict)や二次元のリスト(list)になります。また、出力するJSONファイルはプログラム内では辞書を作成すれば、JSONファイルとして書き出す事も簡単にできます。従って、入力した辞書やリストから出力する辞書を作成する処理を作成すれば、比較的単純にプログラミング出来ます。

 以下、参考までに変換のノウハウを列挙します。

表題説明
csvの読込csvを読み込むには、csvというクラスをimportします。二次元のリストとして読み込むときにはreader()、辞書として読み込むときにはDictReader()を使います。reader()の例はctojのソースにあります。
JSONへの変換辞書からJSON文へ変換するには、jsonというクラスをimportします。dumps()を使います
BOMの削除Excelでcsvを作成すると、先頭にBOMというコードが付く場合があります。csvの読み込み時に先頭の1バイトが’\ufeff’で始まっている場合はその1バイトを削除します。
追加が必要なAttribute“id”と”type”というAtttributeを必ず追加します。”id”は、法人番号や施設ID等から生成します。”type”は固定の文字列です。文字列については各共通データ仕様をご覧ください。
リンクの作成リンクのAttributeとは、typeがRelationshipのものを指します。このAttributeに登録する値はリンク先のEntityのidです。
日付の変換GIFでは日付は”YYYY-MM-DD”の10文字で表現する決まりになっていますが、Excelでcsvを作成すると”YYYY/MM/DD”になっています。また、MMとDDは一桁の場合もあります。これを変換して登録する必要があります。