質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1655閲覧

[Python]複数のjsonファイルを読み込む方法

mango55

総合スコア22

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/06/08 06:53

1フォルダ内にある複数のjsonファイルを読み込み、データを連結したいです。
が、1ファイル分しか読み込みが出来ません。
解決策が分からないためどこが原因か教えてください。

python

1# ファイル分の全てのパスを取得 2files = glob.glob(f'./2022-06-08/'*.json') 3 4item_list = [] 5json_list = [] 6 7 # ファイルをjson_list に追加する 8 for filename in files: 9 try: 10 with open(filename, 'r', encoding='utf-8') as f: 11 json_file = json.load(f) 12 json_list.append(json_file) 13 except: 14 pass 15 16 # json_list の['dev'] を取り出しitem_list に追加する 17 for item in json_list['dev']: 18 item_list.append(item_list)

該当のファイルは下記のように格納されています(./2022-06-08/ に下記の形式(1分毎のデータ))
2022-06-08_0900_sample.json
2022-06-08_0901_sample.json
2022-06-08_0902_sample.json

下記ファイルの中身のサンプルです

json

1[{"dev":[{ 2 "name" :"AA" 3 "model":"aa" 4 "main":[{"temp":"50", 5 "point":"c"}, 6 {"hum":"70" 7 "point":"%"}, 8 {"rain":"80" 9 "point":"+"}], 10 "name" :"BB" 11 "model":"bb" 12 "main":[{"temp":"30", 13 "point":"c"}, 14 {"hum":"60" 15 "point":"%"}, 16 {"rain":"50" 17 "point":"+"}],

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2022/06/08 08:05

提示コードは実際に動作するものでしょうか? json_listがリスト型であるならjson_list['dev']にてエラーが発生します。
mango55

2022/06/08 08:18 編集

すみません、説明に誤りがありました。 そもそも1ファイルも正しく取得出来ていないかもしれません。 json_list = [] with open(filename, 'r', encoding='utf-8') as f: json_file = json.load(f) json_list.append(json_file) の箇所でjson_list には1ファイルパスしか表示されておらず、ここが原因?かなとも思ったのですが、 分かりません(今調べています) そのため、ご質問頂いた箇所も Keyerror と表示されております。 for item in json_list['dev']:
TakaiY

2022/06/08 10:49

質問は編集できるので、実際何が問題で、どういう質問なのか明確にしてください。
mango55

2022/06/09 10:05

すみません、色々確認しておりましたが、結局どこが問題なのかが特定できず、pythonを再インストールすることで解決しました。お二方ともお手数をお掛けして申し訳ございませんでした。
guest

回答1

0

自己解決

複数ファイルの読み込みが出来ない点についてはいろいろ試した結果、最終的にpythonを再インストールすることで解決しました。

投稿2022/06/09 10:06

mango55

総合スコア22

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問