1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【Python入門】jsonデータをアウトプットする方法

【Python入門】
Pocket

JSONはWebアプリケーションでデータのやりとりを行う際に、よく使われるデータ形式です。人間にもコンピュータにも読みやすいこのデータは、Pythonでも取り扱うことができ、簡単にデータを解析したり編集することができます。今回は、Pythonで扱ったJSONデータをファイルに書き込む方法について説明します。

dumpはjsonモジュールの関数なので、必ずjsonモジュールをインポートしてから使います。dumpは書き込みたい辞書型の変数と、書き込み先のファイルを引数に取ります。なので、あらかじめ書き込み用のファイルを開いておきましょう。

実行結果

JSON文字列を書き込む

PythonでJSONを扱う際には、辞書型からJSON形式の文字列に変換していることがあります。そのような文字列を書き込みたいときは、通常の文字列を書き込むときと同様にwrite関数を使えば書き込めます。

実行結果

基本的には辞書型のJSONオブジェクトをdump関数で書き込みますが、文字列のまま書き込みたい場合は後者の方法を使いましょう。

データを整えてから書き込む

dump関数を使うことで、JSONデータをファイルに書き込めるようになりました。しかし、dump関数でそのまま書き込むと、改行などが一切ないため、非常に読みづらくなってしまいます。そんな時は、dump関数のオプションを利用して、データを整えてから書き込むようにしましょう。

インデントをつける

dumpでそのまま書き出すと、空白や改行といったインデントが全くありません。インデントをつけて書き出したいときはdumpのintentオプションを使います。

実行結果

json.dumpを使う際に「indent」というオプションを使うことで、インデントをつけて書き出す事が出来ます。この場合は半角スペース4回分のインデントを取っています。数字を変えることで、インデントの幅を変えることができます。また、バージョン3.2から文字列でindentを指定できるようになりました。 例えば、タブを意味する「\t」をindentに指定すると、タブを使ってインデントを付けた形に整形され、書き出されます。 ~ここまでは上記と同じなので省略~

実行結果

コマンドラインからファイルに書き込む

PythonではコマンドラインからJSONファイルを検証したり出力することができます。簡単なJSONファイルの場合はわざわざスクリプトを書かなくても内容の確認が出来たりするので楽なのですが、コマンドラインからJSONファイルへ書き込みをすることもできます。

実行結果(output2.json) { "book1": { "title": "Python Beginners", "page": 399, "year": 2005 }, "book2": { "title": "Python Developers", "page": 650, "year": 2006 } } この例では、output.jsonというJSONファイルを読み込み、output2.jsonというファイルに書き込んでいます。書き込み先ファイル(この例ではoutput2.json)を指定しない場合は出力先が標準出力になり、そのままの内容がコマンドラインに表示されます。 python -m json.tool output.json 実行結果(コマンドライン) { "book1": { "title": "Python Beginners", "page": 399, "year": 2005 }, "book2": { "title": "Python Developers", "page": 650, "year": 2006 } }

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ
ページ上部へ戻る