【发布时间】:2018-06-22 22:30:10
【问题描述】:
我有一个 pandas DataFrame df,我将每一行转换为 JSON 字符串,如下所示:
df = pd.DataFrame(np.random.randn(50, 4), columns=list('ABCD'))
df_as_json = df.to_json(orient='records')
然后我想对df_as_json的JSON字符串(行)进行迭代,进一步处理如下:
for json_document in df_as_json.split('\n'):
jdict = json.loads(json_document)
//...
问题在于 df_as_json.split('\n') 并没有真正将 df_as_json 拆分为单独的 JSON 字符串。
我该怎么做?
【问题讨论】:
-
所以你希望数据帧的每一行都作为一个字典?
-
您可以尝试打印您的
df_as_json。它包含方括号并且没有\n,所以它不起作用。 @StephenRauch 的解决方案应该非常适合您的情况。 -
@PangeranBottor 不,如果您想将 JSON 文件保存为 JSON 行,那么
to_json支持lines=True参数。见here。 -
由于某种原因
lines=True不适合我。我收到关于未知参数的错误。 -
@Markus 你必须更新你的熊猫版本。最新的稳定版本是 0.22。
标签: python json pandas dictionary