【发布时间】:2019-08-12 02:35:17
【问题描述】:
我目前是 python 新手,我们有一个 csv 文件,需要将其转换为嵌套 JSON 文件。
name type aitm alitm aaitm adsc1
specs glass 70072187 ESA65Z45 ESA 65Z45 CUT TIP FG 1808-40
我正在尝试以以下 json 格式构造上述数据
{
"entities": [
{
"name": "spec",
"type": "glass",
"data": {
"attributes": {
"aitm": {
"values": [
{
"value": "70072187",
"source": "internal",
"locale": "en_US"
}
]
},
"alitm": {
"values": [
{
"value": "ESA65Z45",
"source": "internal",
"locale": "en_US"
}
]
},
"aaitm": {
"values": [
{
"value": "ESA 65Z45",
"source": "internal",
"locale": "en_US"
}
]
},
"adsc1": {
"values": [
{
"value": "CUT TIP FG",
"source": "internal",
"locale": "en_US"
}
]
}
}
}
}
]
}
在上面的 JSON 中有一些值不存在于 csv 源和语言环境中,但我需要将这些值合并到结构中。
我尝试过使用 python 和 R,但由于我也尝试过这种复杂的 JSON 结构,我们无法成功 details = df.groupby(['name', 'type']).apply( lambda r: r[['aitm', 'alitm']].to_dict(orient='records'))
nested = details.unstack('name')
pprint(grouped.unstack('name').to_dict())
output = nested.apply(lambda s: [
{s.index.name: idx, 'Details': value}
for idx, value in s.items()
]).to_dict('records')
print(output)
我得到的结构不正确。请建议使用 python 解决此问题的方法。
【问题讨论】:
-
这似乎是一个相对简单的任务。您需要做的是使用 csv 模块打开 csv 并遍历每一行。我假设 csv 中的每一行都是它自己的 JON 字典?
-
是的 - 如果可能的话,你能帮忙写代码吗?我试过但失败了
标签: json python-3.x csv nested