bioproject.xml(ftp.ncbi.nlm.nih.gov/bioproject/bioproject.xml)を DDBJハッシュテーブルの項目に合わせた JSONに変換するユーティリティです。 ElasticSearchにbulk importするためのjsonl形式の書き出しにも対応しています。
xml2json.pyで"Package"タグごとのイテレーションし、各レコード毎の処理を行います。 xml1レコードごとに必要な要素を取得してxml2jsonl.pyに渡してjsonl line形式で書き出します。
開発途中のため読み込み・書き出しパスはxml2json.pyにハードコード(108行目)したままです。
$ time python xml2json.py
real 2m30.532s
user 2m25.071s
sys 0m5.159s
701,512 要素を含む817MのJSONが書き出されました(2023/1/31)