我正在将json文件转换为csv文件。 json文件没有标题。它失败,并显示错误'unicode' object has no attribute 'values'
。
由于没有标题,因此失败:csvwriter.writerow(row.values())
。
json 文件,不包含标题:
{"ababab": "Complex numbers", "s1234": "Scatterplots"}
Python代码:
csv_output_path = output_path + "skill_names_" + str(report_date) + ".csv"
#print(jsonoutput_path)
with open(local_path + filename) as f:
data = json.load(f)
print(data)
# open file for writing
cd_skill_data = open(csv_output_path, 'w')
#create header for csv
csvwriter = csv.writer(cd_skill_data, delimiter=',')
for row in data:
csvwriter.writerow(row.values())
cd_skill_data.close()
答案 0 :(得分:0)
# Import Libraries
import pandas as pd
import json
from pandas.io.json import json_normalize
# Read Json file
myjson = {"ababab": "Complex numbers", "s1234": "Scatterplots"}
df2 = pd.DataFrame(json_normalize(myjson))
print df2.head(10)
# Export Json to CSV
df2.to_csv('C:/your_path/new_table.csv',encoding='utf-8', index=False, header=False)
答案 1 :(得分:0)
data
是字典。当您遍历字典时,将遍历其键。因此,在您的循环中,row
等于“ ababab”,然后等于“ s1234”。
在这里很难说出您的代码或数据是否错误。该代码需要字典列表。数据是单个字典(或用JSON术语“对象”表示)。
如果要获取字典列表,请在方括号的开头和结尾将数据更新。如果您只需要一个字典,则需要按原样处理数据,例如遍历data.items()
。