我正在运行一个循环,该循环创建一个大型嵌套字典,最后使用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并覆盖现有文件,但随着数据变大,速度可能会变慢。