繁体   English   中英

将JSON转换为CSV,CSV为空

[英]Converting JSON to CSV, CSV is empty

我正在尝试将JSON中的yelps数据集转换为csv格式。 创建的新的csv文件为空。

我尝试了不同的方法来遍历JSON,但是它们都给了我一个零字节的文件。

json文件如下所示:

{"business_id":"1SWheh84yJXfytovILXOAQ","name":"Arizona Biltmore Golf Club","address":"2818 E Camino Acequia Drive","city":"Phoenix","state":"AZ","postal_code":"85016","latitude":33.5221425,"longitude":-112.0184807,"stars":3.0,"review_count":5,"is_open":0,"attributes":{"GoodForKids":"False"},"categories":"Golf, Active Life","hours":null}
import json 
import csv

infile = open("business.json","r")
outfile = open("business2.csv","w")

data = json.load(infile)
infile.close()

out = csv.writer(outfile)

out.writerow(data[0].keys())
for row in data:
    out.writerow(row.values())

代码运行时,我收到一条“额外数据”消息。 新的business2 csv文件为空,大小为零字节。

如果您的JSON只有一行,请尝试

infile = open("business.json","r")
outfile = open("business2.csv","w")

data = json.load(infile)
infile.close()

out = csv.writer(outfile)

#print(data.keys())
out.writerow(data.keys())
out.writerow(data.values())

嗨,请尝试以下代码,使用with命令,当控件移出with范围时,文件访问将自动关闭

infile = open("business.json","r")
outfile = open("business2.csv","w")

data = json.load(infile)
infile.close()
headers = list(data.keys())
values = list(data.values())

with open("business2.csv","w") as outfile:
    out = csv.writer(outfile)
    out.writerow(headers)
    out.writerow(values)

您需要使用with关闭文件。

import json 
import csv

infile = open("business.json","r")


data = json.load(infile)
infile.close()

with open("business2.csv","w") as outfile:
    out = csv.writer(outfile)
    out.writerow(list(data.keys()))
    out.writerow(list(data.values()))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM