循环期间保存到Excel(Pandas DataFrame)



我正在运行一个循环,该循环创建一个大型嵌套字典,最后使用panda将其保存到excel文件中。

如何在X次迭代后保存到同一个excel文件,而不是等到最后?例如,每10次迭代?有可能吗?

当前代码(简化(:

import pandas as pd
d = {}
def some_function(x, y)
d[x] = {'id': x, 'status': 'ok', 'info': y}
...
print('ok')
elements = ['elem1', 'elem2', 'elem3', 'elem4', ..., 'elem1000']
count = 1
for element in elements:
try:
some_function(count, element)
except:
d[count] = {'id': count, 'status': 'error'}
count += 1
df = pd.DateFrame(d).T
df.to_excel('output.xlsx', index=False)

据我所知,没有一种好的方法可以用panda将输出流式传输到单个excel表中。您可以使用熊猫将数据附加为附加表。ExcelWriter,但这听起来不像你想要的。

您总是可以每X次迭代运行df.to_excel并覆盖现有文件,但随着数据变大,速度可能会变慢。

最新更新