【发布时间】:2019-12-20 10:10:33
【问题描述】:
我来过这里几次,但似乎无法修复它。我正在尝试将 JSON 转换为 CSV 文件。我不断收到此错误: 从无 JSONDecodeError: 期望值引发 JSONDecodeError("Expecting value", s, err.value)。 请帮忙。 这是我正在尝试使用的代码。
import json
import pandas as pd
# load json object
with open('C:/Users/gavin/OneDrive/Desktop/4th Year/DAD project/mass.json', 'r') as f:
d = json.load(f)
multi = []; inner = {}
def recursive_extract(i):
global multi, inner
if type(i) is list:
if len(i) == 1:
for k,v in i[0].items():
if type(v) in [list, dict]:
recursive_extract(v)
else:
inner[k] = v
else:
multi = i
if type(i) is dict:
for k,v in i.items():
if type(v) in [list, dict]:
recursive_extract(v)
else:
inner[k] = v
recursive_extract(d['data'])
data_dict = []
for i in multi:
tmp = inner.copy()
tmp.update(i)
data_dict.append(tmp)
df = pd.DataFrame(data_dict)
df.to_csv('Output.csv')
更新:这是我试图转换为 CSV 文件的 JSON。我不得不删除一些记录,以便堆栈溢出让我发布我的问题。
{
"data": [
{
"value": 4070,
"data_year": 1998,
"month_num": 0,
"key": "Unknown"
},
{
"value": 1095,
"data_year": 1992,
"month_num": 0,
"key": "Unknown"
},
{
"value": 11277,
"data_year": 2017,
"month_num": 0,
"key": "Unknown"
},
{
"value": 3481,
"data_year": 1993,
"month_num": 0,
"key": "Unknown"
},
{
"value": 9402,
"data_year": 2013,
"month_num": 0,
"key": "Unknown"
},
{
"value": 473,
"data_year": 1991,
"month_num": 0,
"key": "Unknown"
},
{
"value": 9587,
"data_year": 1998,
"month_num": 0,
"key": "None"
},
{
"value": 244,
"data_year": 1992,
"month_num": 0,
"key": "None"
}
],
"precise_data": []
}
【问题讨论】:
-
可以添加一个sn-p的json文件吗?
-
刚刚添加了一些。