只将第一行写入CSV - 不明白为什么

时间:2017-11-26 18:56:35

标签: python json pandas csv zipfile

我需要将多个JSON文件转换为CSV文件。我有一个包含2000 .JSON文件的data.zip文件夹。我能够加载JSON文件并使用print normalized打印每个JSON文件中的数据。但是当我将其写入CSV时,它只显示1行数据。如何将所有.JSONS数据写入CSV文件。

import zipfile
from pandas.io.json import json_normalize

def get_text():
    with zipfile.ZipFile("data.zip", "r") as z:
         for filename in z.namelist():
             with z.open(filename) as f:
                  data = json.load(f)
                  normalized = json_normalize(data)
                  print normalized
                  normalized.to_csv('data.csv', encoding="utf-8-sig")

1 个答案:

答案 0 :(得分:2)

.to_csv的默认值是写一个新文件。你需要追加 - mode =' a'。参见:

Panda's Write CSV - Append vs. Write