gpt4 book ai didi

python - 使用 Python 将 JSON 转换为 CSV

转载 作者:行者123 更新时间:2023-12-04 07:18:15 25 4
gpt4 key购买 nike

我尝试了几种不同的方法使用 Panda 将我的 JSON 导入到 csv 文件。

import pandas as pd
df = pd.read_json("CDMP_E2.json")
df.ts_csv("CDMP_Output.csv")
问题是当我运行该代码时,它会将输出全部放在一个“列”中。
列标题显示为 Credit-NoSQL。
那么列中的数据就是来自每个“对象”的所有内容
'日期':'2021-08-01','类型':'卡','金额':'100'
所以它看起来像这样:
Credit-NoSQL

'date':'2021-08-01','type':'CARD','amount':'100'

相反,我希望看到日期、类型和金额作为标题。
account     date          type     amount     returneddate
ABCD 2021-08-01 CARD 100
EFGHI 2021-08-01 CARD 150 2021-08-04
我的 JSON 文件如下所示:
[
{
"Credit-NoSQL":{
"account":"ABCD"
"date":"2021-08-01",
"type":"CARD",
"amount":"100"
}
},
{
"Credit-NoSQL":{
"account":"EFGHI"
"date":"2021-08-02",
"type":"CARD",
"amount":"150"
"returneddate":"2021-08-04"
}
}
]
所以我不确定这是不是我的 JSON 文件是用它的列表设置的方式,或者我是否在我的 python 命令中遗漏了一些东西。我是 Python 的新手并且仍在学习,所以我对下一步可以做什么感到茫然。

最佳答案

无需为此使用 Pandas 。

import json, csv

with open("CDMP_E2.json") as json_file:
data = [item['Credit-NoSQL'] for item in json.load(json_file)]

# Get the union of all dictionary keys
fieldnames = set()
for row in data:
fieldnames |= row

with open("CDMP_Output.csv", "w") as csv_file:
cwrite = csv.DictWriter(csv_file, fieldnames = fieldnames)
cwrite.writeheader()
cwrite.writerows(data)

关于python - 使用 Python 将 JSON 转换为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68656899/

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