解析从JSON到CSV的批量转换

时间:2018-12-02 21:24:22

标签: json python-3.x csv

我正在Python 3中使用以下code将约30,000个json文件转换为csv。

with open('out.csv', 'w') as f:
for fname in glob("*.json"):  # Reads all json from the current directory
    with open(fname) as j:
        f.write(str(json.load(j)))
        f.write('\n')

json文件是时间戳和值,例如{"1501005600":956170,"1501048800":970046,...

当前输出为

<code>timestamp: value</code>

如何将每个单元放置在各自的单元格中,使输出为enter image description here

我已经使用csv.writer尝试了许多方法,但是我无法弄清楚。

更新

with open('out.csv', 'w') as f:  
for fname in glob("*.json"):  
    with open(fname) as j: 
        values = json.load(j)  
        for k, v in values.items():  
            f.write("{},{},".format(str(k), str(v)))  

解析是正确的,但每个.json文件现在位于一行上。

1 个答案:

答案 0 :(得分:1)

一个朋友帮助我深入浅出,希望这可以帮助其他人。

with open('[insert].csv', 'w') as f:  
for fname in glob("*.json"):  
    with open(fname) as j:  
        values = json.load(j)  
        for k, v in values.items():  
            f.write("{},{},".format(str(k), str(v)))  
    f.write('\n')