在Python中将嵌套JSON转换为CSV
我正在尝试用Python将JSON数据转换为CSV,并在堆栈交换上找到了这段代码(链接:) 它在Python3中不再工作,这给了我不同的错误。有人知道如何修复Python3吗?谢谢在Python中将嵌套JSON转换为CSV,python,json,python-3.x,csv,Python,Json,Python 3.x,Csv,我正在尝试用Python将JSON数据转换为CSV,并在堆栈交换上找到了这段代码(链接:) 它在Python3中不再工作,这给了我不同的错误。有人知道如何修复Python3吗?谢谢 import csv import json x = """[ { "pk": 22, "model": "auth.permission", "fields": { "codename": "add_logentry",
import csv
import json
x = """[
{
"pk": 22,
"model": "auth.permission",
"fields": {
"codename": "add_logentry",
"name": "Can add log entry",
"content_type": 8
}
},
{
"pk": 23,
"model": "auth.permission",
"fields": {
"codename": "change_logentry",
"name": "Can change log entry",
"content_type": 8
}
},
{
"pk": 24,
"model": "auth.permission",
"fields": {
"codename": "delete_logentry",
"name": "Can delete log entry",
"content_type": 8
}
}
]"""
x = json.loads(x)
f = csv.writer(open("test.csv", "wb+"))
# Write CSV Header, If you dont need that, remove this line
f.writerow(["pk", "model", "codename", "name", "content_type"])
for x in x:
f.writerow([x["pk"],
x["model"],
x["fields"]["codename"],
x["fields"]["name"],
x["fields"]["content_type"]])
您正在使用
wb+
以二进制方式打开文件,而您正在尝试编写str
f = csv.writer(open("test.csv", "w+"))
您正在使用
wb+
以二进制方式打开文件,而您正在尝试编写str
f = csv.writer(open("test.csv", "w+"))
也许这段代码会在某种程度上帮助您理解这一点
import json,csv
data = []
with open('your_json_file_here.json') as file:
for line in file:
data.append(json.loads(line)) length = len(data)
with open('create_new_file.csv','w') as f:
writer = csv.writer(f)
writers = csv.DictWriter(f, fieldnames=['header1','header2'])
writers.writeheader()
for iter in range(length):
writer.writerow((data[iter]['specific_col_name1'],data[iter]['specific_col_name2'])) f.close()
也许这段代码会在某种程度上帮助您理解这一点
import json,csv
data = []
with open('your_json_file_here.json') as file:
for line in file:
data.append(json.loads(line)) length = len(data)
with open('create_new_file.csv','w') as f:
writer = csv.writer(f)
writers = csv.DictWriter(f, fieldnames=['header1','header2'])
writers.writeheader()
for iter in range(length):
writer.writerow((data[iter]['specific_col_name1'],data[iter]['specific_col_name2'])) f.close()
错误是什么?错误是什么?