多行 jsons 的 pandas read_json 返回 JSONReader 而不是数据帧

Ama*_*ngh 5 python dataframe pandas

我有一个文件file1.json,其内容如下(每个字典在单独的行中):

{"a":1,"b":2}
{"c":3,"d":4}
{"e":9,"f":6}
.
.
.
{"u":31,"v":23}
{"w":87,"x":46}
{"y":98,"z":68}
Run Code Online (Sandbox Code Playgroud)

我想将此文件加载到 pandas 数据框中,所以这就是我所做的:

df = pd.read_json('../Dataset/file1.json', orient='columns', lines=True, chunksize=10)
Run Code Online (Sandbox Code Playgroud)

但这不是返回数据帧而是返回 JSONReader。

[IN]: df
[OUT]: <pandas.io.json.json.JsonReader at 0x7f873465bd30>
Run Code Online (Sandbox Code Playgroud)

这是正常现象,还是我做错了什么?如果这就是当单个 json 文件中有多个字典(没有任何逗号分隔)并且每个字典在单独的行中时 read_json() 应该如何表现,那么我如何才能最好地将它们放入数据帧中?

编辑:如果我chunksize从 read_json() 中删除参数,这就是我得到的:

[IN]: df = pd.read_json('../Dataset/file1.json', orient='columns', lines=True)
[OUT]: ValueError: Expected object or value
Run Code Online (Sandbox Code Playgroud)

aba*_*ert 3

正如文档所解释的,这正是参数的要点chunksize

\n
\n

chunksize:整数,默认无

\n

返回JsonReader迭代对象。有关 的更多信息,请参阅行分隔的 json 文档chunksize仅当lines=True时才能传递此参数。如果为 None,则文件将被一次性读入内存。

\n
\n

链接的文档说:

\n
\n

对于行分隔的 json 文件,pandas 还可以返回一个迭代器,chunksize一次读取行。这对于大文件或从流中读取非常有用。

\n
\n

\xe2\x80\xa6 然后给出如何使用它的示例。

\n

如果你不想那样,你为什么要通过chunksize?把它留下吧。

\n