0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

40代おっさんPythonを勉強する(JSONファイルの読み書き編)

Posted at

本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

JSON

  • 軽量のデータ交換フォーマット
  • 多くのプログラミング言語で使われている。データ交換に便利
  • JSONの紹介
JSON Python 表現方法
object dict {"key":value, "key": value ...}のように記述 {"apple":150, "orange":120}
array list / tuple [1, 2, 3 ...]のように記述 ["apple", 100]
string str ダブルクォートで括る "apple"
number int / float 数字 25
true / false True / False trueかfalse true
null None null null
# 辞書型の階層的なデータ
company = \
{
"department": { 
        "Information Technology": {
            "floor": "3rd",
            "person": {
                "Sato Taro": "Manager",
                "Suzuki Hanako": "Software Engineer"
            }
        },
        "Human Resources": {
            "floor": "2nd",
            "person": {
                "Takahashi Akiko": "Manager",
                "Tanaka Kentaro": "Administrator"
            }
        },
        "Sales": {
            "floor": "1st",
            "person": {
                "Ito Jiro": "Manager",
                "Kimura Takuya": "Sales person"   
            }
        }
    }
}

import json
company_json = json.dumps(company)
company_json # jsonフォーマットの文字列になる
  • ファイルに保存する
with open('company.json', "w") as f: # ファイルcompany.jsonに保存
    json.dump(company, f)
  • ファイルから読み込む
with open('company.json', 'r') as f: # ファイルcompany.jsonから読み込む
    company = json.load(f)
print(company)
type(company) # 辞書型になっているか確認 
  • 読み込んだ後は普通にPythonのデータ型で処理できる
#  階層的に表示する
for c in company:
    print(c)
    for d in company[c]:
        print('\t|-->', d)
        for i in company[c][d]:
            if i == 'floor':
                print('\t\t|-->', i, company[c][d][i])
            else:
                print('\t\t|-->', i)
                for j in company[c][d][i]:
                    print('\t\t\t|-->', j, company[c][d][i][j])

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?