gpt4 book ai didi

python - 在 Python 中将 JSON 转换为换行符分隔的 JSON

转载 作者:太空狗 更新时间:2023-10-29 21:19:13 26 4
gpt4 key购买 nike

我的目标是将 JSON 文件转换为可以使用 Python 从 Cloud Storage 上传到 BigQuery ( as described here) 的格式。

我试过使用 newlineJSON转换包但收到以下错误。

JSONDecodeError: Expecting value or ']': line 2 column 1 (char 5)

有没有人能解决这个问题?

这是示例 JSON 代码:

[{
"key01": "value01",
"key02": "value02",
...
"keyN": "valueN"
},
{
"key01": "value01",
"key02": "value02",
...
"keyN": "valueN"
},
{
"key01": "value01",
"key02": "value02",
...
"keyN": "valueN"
}
]

这是现有的 python 脚本:

with nlj.open(url_samplejson, json_lib = "simplejson") as src_:
with nlj.open(url_convertedjson, "w") as dst_:
for line_ in src_:
dst_.write(line_)

最佳答案

jq 的答案确实很有用,但如果你仍然想用 Python 来做(从问题看来),你可以使用内置的 json 模块。

import json
from io import StringIO
in_json = StringIO("""[{
"key01": "value01",
"key02": "value02",

"keyN": "valueN"
},
{
"key01": "value01",
"key02": "value02",

"keyN": "valueN"
},
{
"key01": "value01",
"key02": "value02",

"keyN": "valueN"
}
]""")

result = [json.dumps(record) for record in json.load(in_json)] # the only significant line to convert the JSON to the desired format

print('\n'.join(result))

{"key01": "value01", "key02": "value02", "keyN": "valueN"}
{"key01": "value01", "key02": "value02", "keyN": "valueN"}
{"key01": "value01", "key02": "value02", "keyN": "valueN"}

* 我在这里使用 StringIOprint 只是为了让示例更容易在本地测试。

作为替代方案,您可以使用 Python jq binding将其与 the other answer 组合.

关于python - 在 Python 中将 JSON 转换为换行符分隔的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51300674/

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