PythonでJSONをCSVにサクッと変換! ExcelでのCSV文字化けも退治!
豪華2本立て、一度で二度おいしい、一石二鳥、
表現が豊富なことは期待や願望の表れですね。
JSON変換 まだだ、まだ終わらんよ!
私の性格上、とりあえず成果がでたならOKでいいじゃない(笑)
ということがよくあります。
完成度を高める、理想を追求することは魅力ですが、
停滞していては元も子もありません。
とりあえずの成果を確認することで、先に進めます。
その一方で、とりあえずの成果に満足できているか
という問題は残ります。
たとえば、JSONファイルの変換。
ウェブから入手したJSONファイルを手元で扱うために、
Excelで使えるように変換する必要があります。
これまでにも上記の課題に取り組んできました。
一応の成果でしたが、もっとシンプルにデータを扱いたい
という欲求がありました。
今回の試みは以下の通りです。
- 「Python」によるプログラミングで
- JSONファイルをCSVファイルに変換して
- Excel に出力する
JSON変換 ColabとPythonでJSON-CSV変換
プログラミングはどうやって始めるかといったことも悩みの種です。
Pythonは幸い「Google Colaboratory」があります。
(「コラボレイトリー」ともいいます)
Google アカウントさえあればブラウザで利用できます。
今回のコードは以下の内容です。
- CSVとJSONファイルを扱える設定の下で、
- JSONファイルをアップロードして、
- CSVファイルに変換する
といった内容です。
あらかじめ国税庁のインボイス登録サイトよりダウンロードしておいた
消費税のインボイス登録事業者のJSONファイルを扱いました。
(上記の「j_all_20220930.json」です)
上記のコードによる出力結果がCSVファイルとして出力されました。
(「InvoiceRegister.csv」です。画面右側で確認できます)
まどろっこしいようですが、
- 一度コードができれば、ファイルを変えるだけで使い回しOK
といった大きな成果が得られます。
CSVファイルをダウンロードすれば、一段落です。
JSON変換 ExcelでのCSV文字化けも退治
ダウンロードしたCSVファイルを開くと、あらたな課題が示されます(笑)。
「文字化け」です。
心を一旦落ち着けて(笑)、ファイルを閉じます。
文字化け解消の対策は、2段階に分けます。
まず第1段階。
- CSVファイルを「メモ帳」で開き、
- 「名前をつけて保存」よりテキスト形式で保存して、
- Excelで上記テキストファイルを「開く」
ファイルを右クリック→「プログラムから開く」→「メモ帳」です。
エクエルで「開く」ときは、「すべてのファイル」でファイルを表示させます。
第2段階は、開いたファイルでの選択と確定です。
- データの形式
- 区切り文字
- 列のデータ形式
「コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択します。
「区切り文字」では、「タグ」や「コンマ」を選択しつつ、
「データのプレビュー」で表示状態を確認します。
最後に「列のデータ形式」を確定させて完了します。
無事文字化けが解消しました。
(具体的な事業者名のためモザイク処理してあります)
JSONファイルのExcelでのシンプルな利用を狙った
という割にはごちゃごちゃしていたかもしれません(笑)。
とはいえ、Pythonのコードの詳細な理解を除けば、
処理の見通しは改善した印象です。
上記のJSONファイルをExcelで扱えるようにする取り組みは、
とりあえず2022年(令和4年)10月21日(金)時点の成果です。
今後も改善や別のアプローチを探る余地があります。
蛇足
とりあえずの成果を確認すると、次の課題がみえてきます。
やれやれといったところですが、
- 次も何とかするかっ!
という気持ちもセットなので気楽です。
今週のスタエフ
<ご案内>
■林友範税理士事務所
■災害と税金の情報
■確定申告のご依頼も受付中!