こんにちは。さすをです。
以前、6,000万のPython案件に携わりました。
今回の記事は、pythonを使って、配列のあるjsonの読み込み方法を紹介していきます。
それでは本文をどうぞ。
jsonの配列を読み込みたいんだけど、複雑に絡み合っててわからない、、
どうやって考えていけばいいの、、
これらの悩みを解決します!
※0円のサンプルテキストという近道
独学よりプログラミングスクールの方が効果は出やすいですが、値段が高く、なかなか手を出しづらいですよね。techgymでは無料のサンプルテキストと解説動画をもらえるので、これを使ってお得にPythonの基礎を学ぶのもオススメです。
最短1分でできる!
1.配列のあるjsonの読み込み方法
今回はsample.jsonというjsonデータを使用します。
sample.json:
{
"name": "satoshi",
"age": 40,
"sex": "man",
"friend": "hiroshi",
"hobby": [
"dancing",
"singing",
"fishing"
]
}
配列のあるjsonを読み込むためのスクリプトはこちらです。
import json
json_file = open('blog_data/sample.json', 'r')
json_dict = json.load(json_file)
print(json_dict)
処理内容を一つずつ説明していきます!
import json
json 関連の関数を使うためには、 json モジュールをインポートする必要があります。
jsonを扱うときに必要なおまじないだと思いましょう。
json_file = open('blog_data/sample.json', 'r')
この行では、jsonファイルのパスを指定し、読み込んでいます。
‘blog_data/sample.json’の部分にファイルパスを指定しましょう。
‘r’はreadの略で、ファイルを読み込むという意味で使用します。
json_dict = json.load(json_file)
json.loadを使って、jsonファイルを辞書として読み込みます。
辞書として読み込むことで、jsonファイルの値の取得や変更、削除、追加がしやすくなります。
print(json_dict)
読み込んだjsonファイルを表示します。
スクリプトの実行結果はこちらです。
{'name': 'satoshi', 'age': 40, 'sex': 'man', 'friend': 'hiroshi', 'hobby': ['dancing', 'singing', 'fishing']}
jsonファイルを読み込めていることがわかりますね!
2.jsonファイルにある配列の取り出し方法
それでは、sample.jsonから配列を取り出してみましょう。
sample.json:
{
"name": "satoshi",
"age": 40,
"sex": "man",
"friend": "hiroshi",
"hobby": [
"dancing",
"singing",
"fishing"
]
}
jsonファイルにある配列の取り出し方法は以下の通りです。
import json
json_file = open('blog_data/sample.json', 'r')
json_dict = json.load(json_file)
get_data = json_dict["hobby"]
print(get_data)
出力結果はこちらです。
['dancing', 'singing', 'fishing']
配列を取り出すことができました!
get_data = json_dict["hobby"]
とすることで、[“hobby”]の値を取り出すことができます。
もし、配列の中の1つを取り出したいのであれば、
get_data = json_dict["hobby"][1]
のように、番号を指定してあげればOKです。
出力結果:
singing
3.jsonファイルにあるネストされた配列の取り出し方法
以下のようなネストされた配列を取り出してみましょう。
{
"name": "satoshi",
"age": 40,
"sex": "man",
"friend": "hiroshi",
"hobby": [
[
"dancing",
"singing"
],
[
"fishing"
]
]
}
jsonファイルにあるネストされた配列の取り出し方法は以下の通りです。
import json
json_file = open('blog_data/sample.json', 'r')
json_dict = json.load(json_file)
get_data = json_dict["hobby"][0][1]
print(get_data)
出力結果:
singing
ネストされると多次元配列になります。
json_dict["hobby"][0][1]
の意味は下記のようになっています。
- [“hobby”]:jsonファイルの中のhobbyを選択。
- [0]:1つ目の大かっこ([])を選択。(配列は0から開始)
- [1]:dancing,singingのうち、2つ目のsingingを選択。(配列は0から開始)
ネストが増えても、考え方は変わりません!
4.jsonファイルにある複雑にネストされた配列の取り出し方法
以下のような複雑にネストされたjsonファイルから、artist_memberの配列の中の”jun”を取り出してみましょう。
{
"name": "satoshi",
"age": 40,
"sex": "man",
"work": {
"singer": {
"artist_name": ["arashi"],
"artist_member": ["sho", "jun", "masaki", "kazunari"]
},
"art": ["draw", "fishing"]
}
}
取り出すスクリプトは下記の通りです。
import json
json_file = open('blog_data/sample.json', 'r')
json_dict = json.load(json_file)
get_data = json_dict["work"]["singer"]["artist_member"][1]
print(get_data)
ここまで理解できていればどんなjsonファイルからでも配列を取り出せるでしょう!
5.Pythonスキルを伸ばす方法とは?
5-1.独学編
Pythonスキルを独学で身に着けるためには、参考書が必須です。
おすすめのPython書籍を以下の記事で解説したので、参考にしていただけたらと思います。
本を買う前に、一度Pythonの学習をしてみたいという方は、Pythonを学べるおすすめ学習サイトを以下の記事で解説したので、こちらも参考にしてみてください。
>>【料金別&徹底解説】 Pythonおすすめ勉強サイト8選【楽しく学ぼう】
5-2.スクール編
お金がかかってもいいから、少しでも早くPythonスキルを身につけたい方は、TechAcademy(テックアカデミー)のPythonコースがおすすめです。
エンジニアになれば、受講料は1か月もあれば回収できるので、問題なしです。
本気でPythonスキルを身につけたい方は、スクールで一気にスキルを身に着けるのもありでしょう。
>>TechAcademy(テックアカデミー)のPythonコースはこちら
6.おわりに
6,000万のPython案件に携わった経験のある筆者が、pythonを使って、配列になっているjsonの読み込み方法を紹介してきました。
jsonはネストが多いと複雑に見えてしまいますが、実は単純です。
この記事が少しでもあなたの役に立てていたらうれしいです。
頑張るあなたを応援しています!
それでは!
最短1分でできる!
>>【無料】Pythonでできること9選【初心者でも稼げます】
コメント