gpt4 book ai didi

python - pandas.read_json() 未按预期工作

转载 作者:行者123 更新时间:2023-11-30 22:00:31 25 4
gpt4 key购买 nike

我编写了一个 python 脚本,该脚本应该通过读取 json 文件来形成 csv。 json文件实际上是一行json,每一行代表一个json对象。在我的 json 文件中,每一行都有一个键和一个值。我需要读取该值并从中形成 csv。示例 json 文件为:

{"30b26e96052f7e4cda0fe2eff99d128ab2689cfee8637c0f50e540fae811c1b9": "{\"0\": \"440899\", \"1\": \"440900\", \"-1\": \"440898\"}"}
{"669b10aa7c547109650e12f9904152e74c52d55c0a6d6c66fe1ea7b0b37a4ba7": "{\"0\": \"440900\", \"1\": \"440901\", \"-1\": \"440899\"}"}
{"1e13e07b8484e730997fbe516f1e0adf94729dbb30c2e92dfbdb9839c6e4e434": "{\"0\": \"440901\", \"1\": \"440902\", \"-1\": \"440900\"}"}

现在,我的代码是:

import pandas as pd
import json


chunks = pd.read_json(
"test.json",
chunksize=100,
lines=True,
)

for df in chunks:
df = df.to_dict(orient='records')
for row in df:
print(row)

我正在寻找的输出是

{\"0\":\"440899\",\"1\":\"440900\",\"-1\":\"440898\"}

这意味着我想读取该值,该值本身是 json 格式,其中有键、值对。我的目标是在 csv 文件中写入这样的 json:

0,1,-1
440899, 440900, 440898
..., ..., ...

我现在得到的完全令人困惑:

{'1e13e07b8484e730997fbe516f1e0adf94729dbb30c2e92dfbdb9839c6e4e434': nan, '30b26e96052f7e4cda0fe2eff99d128ab2689cfee8637c0f50e540fae811c1b9': '{"0": "440899", "1": "440900", "-1": "440898"}', '3533a5d915469b16e04c10587c1a56ff5b0a6e16e2de3ae9873ad0e5b772c10c': nan, '573a0044e9315d4d598019f8bde1ceb93eed42f6c078f2cf9769e9c7a53fd9b6': nan, '669b10aa7c547109650e12f9904152e74c52d55c0a6d6c66fe1ea7b0b37a4ba7': nan, 'a5d172be131b5ff72d621a845f5d501d5d78352a3d52b8a86af88912824d4bd9': nan, 'e41d5c4ca5ae85908cac2d8a665d1292ba6a6f98dd720651300ea9f893fb53ae': nan, 'f825fbd436b2533dc3473cda15c304c9c79a108d2e59d18ec54fc9706966536b': nan}
{'1e13e07b8484e730997fbe516f1e0adf94729dbb30c2e92dfbdb9839c6e4e434': nan, '30b26e96052f7e4cda0fe2eff99d128ab2689cfee8637c0f50e540fae811c1b9': nan, '3533a5d915469b16e04c10587c1a56ff5b0a6e16e2de3ae9873ad0e5b772c10c': nan, '573a0044e9315d4d598019f8bde1ceb93eed42f6c078f2cf9769e9c7a53fd9b6': nan, '669b10aa7c547109650e12f9904152e74c52d55c0a6d6c66fe1ea7b0b37a4ba7': '{"0": "440900", "1": "440901", "-1": "440899"}', 'a5d172be131b5ff72d621a845f5d501d5d78352a3d52b8a86af88912824d4bd9': nan, 'e41d5c4ca5ae85908cac2d8a665d1292ba6a6f98dd720651300ea9f893fb53ae': nan, 'f825fbd436b2533dc3473cda15c304c9c79a108d2e59d18ec54fc9706966536b': nan}

最佳答案

它认为你的键是列名。你的 json 看起来有点奇怪,像这样重组它可能会更容易

{"id": "30b26e96052f7e4cda0fe2eff99d128ab2689cfee8637c0f50e540fae811c1b9", "0": "440899", "1": "440900", "-1": "440898"}

或者也许

{"id": "30b26e96052f7e4cda0fe2eff99d128ab2689cfee8637c0f50e540fae811c1b9", "data": "{\"0\": \"440899\", \"1\": \"440900\", \"-1\": \"440898\"}"}

关于python - pandas.read_json() 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54294768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com