Python DataFram 导出到 Excel 覆盖上一行

问题描述 投票:0回答:1

我正在尝试导出到 Excel,但它不断覆盖信息,因此我只得到最后一行。我已经浏览了这里所有类似的帖子,但所有解决方案都不起作用。

代码比较简单;我正在调用一个函数来创建带有子词典的词典以进行字数统计。一切都很好。问题在于将其导出到 Excel。

Files = FileList()
for file in Files:
    results = {file:(KeySearch(file,b))}
    data = pd.DataFrame.from_dict(results, orient = 'index')
    print(data)
    data.to_excel('GFG.xlsx')

数据打印良好,Excel 文件格式正确。问题是这只是最后一行。

我知道它被覆盖,但我不知道如何绕过它。

  • 我已经尝试删除数据处的缩进(以及其中的几种排列)

  • 我已经尝试将其放入单独的字典中。

  • 我已经尝试将其放入列表中并附加它;这种 有效,但每个附录都包含所有 3 行,所以 复制。

我知道我可能错过了一些愚蠢的东西,但我确实已经检查了我遇到的每一个解决方案,但它们似乎都不起作用。任何帮助将不胜感激。

python export
1个回答
0
投票

每次调用

data.to_excel('GFG.xlsx')
时,都会重新创建文件。

您可以简单地将每个结果首先附加到 DataFrame 中,例如

all_data = pd.concat([all_data, data])
。然后,将最后一行移出迭代。

for file in Files:
    results = {file: KeySearch(file, b)}
    data = pd.DataFrame.from_dict(results, orient='index')
    all_data = pd.concat([all_data, data])

all_data.to_excel('GFG.xlsx')
© www.soinside.com 2019 - 2024. All rights reserved.