🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

JSON

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

Python

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

Q&A

解決済

1回答

1347閲覧

複数の.jsonlファイルを一括でDataFrameにいれたい

remoro

総合スコア5

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

JSON

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

Python

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

0グッド

0クリップ

投稿2020/12/04 10:33

編集2020/12/05 11:42

前提・実現したいこと

Python3.7において複数の.jsonlファイルを一括でDataFrameにいれたい

発生している問題・エラーメッセージ

--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-3-365cc4cf31ce> in <module> 5 6 for filename in all_files: ----> 7 df = pd.read_json(filename, orient='records', lines=True) 8 li.append(df) 9 ~\anaconda3\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs) 212 else: 213 kwargs[new_arg_name] = new_arg_value --> 214 return func(*args, **kwargs) 215 216 return cast(F, wrapper) ~\anaconda3\lib\site-packages\pandas\io\json\_json.py in read_json(path_or_buf, orient, typ, dtype, convert_axes, convert_dates, keep_default_dates, numpy, precise_float, date_unit, encoding, lines, chunksize, compression) 606 return json_reader 607 --> 608 result = json_reader.read() 609 if should_close: 610 filepath_or_buffer.close() ~\anaconda3\lib\site-packages\pandas\io\json\_json.py in read(self) 727 elif self.lines: 728 data = ensure_str(self.data) --> 729 obj = self._get_object_parser(self._combine_lines(data.split("\n"))) 730 else: 731 obj = self._get_object_parser(self.data) ~\anaconda3\lib\site-packages\pandas\io\json\_json.py in _get_object_parser(self, json) 751 obj = None 752 if typ == "frame": --> 753 obj = FrameParser(json, **kwargs).parse() 754 755 if typ == "series" or obj is None: ~\anaconda3\lib\site-packages\pandas\io\json\_json.py in parse(self) 855 856 else: --> 857 self._parse_no_numpy() 858 859 if self.obj is None: ~\anaconda3\lib\site-packages\pandas\io\json\_json.py in _parse_no_numpy(self) 1106 else: 1107 self.obj = DataFrame( -> 1108 loads(json, precise_float=self.precise_float), dtype=None 1109 ) 1110 ValueError: No ':' found when decoding object value

該当のソースコード

Python3.7

1path = "/Users/user/Desktop/video.jsonl" 2all_files = glob.glob(path+"/*.jsonl") 3 4li = [] 5 6for filename in all_files: 7 df = pd.read_json(filename, orient='records', lines=True) 8 li.append(df) 9 10frame = pd.concat(li, axis=0, ignore_index=True)

試したこと

単体の読み込みではエラーが発生しない
for文内でfilenameをprintすると

/Users/user/Desktop/video.jsonl\0000.jsonl

となってしまうので

filename2=filename.replace(chr(92),"/")

を用いて置換したが同様のエラーが発生した。
パスを直接書き込む場合は失敗しない

補足情報(FW/ツールのバージョンなど)

Python3.7

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

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

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

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

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

guest

回答1

0

自己解決

走査しているフォルダ内のファイルに異常が発生していた。
そのためすべてを読み込もうとする際にエラーが発生して止まっていた。

異常が発生していたファイルを削除することで解決した。

投稿2020/12/06 11:26

remoro

総合スコア5

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問