Boo*_*d16 2 python excel dataframe pandas
我有100个熊猫dfs的词典.
我想循环遍历dict中的每个df并将其转储到excel中,所有这些都在一张纸上,一个接一个,中间有一个空行.
我的尝试:
writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
workbook = writer.book
for key, values in dd.iteritems():
df = dd[key]['chart_data']
df.to_excel(writer, sheet_name='Sheet 1', index=False)
writer.save()
workbook.close()
Run Code Online (Sandbox Code Playgroud)
我认为它会覆盖dfs.
有什么建议?
startrow 听起来像你的解决方案
start_row = 0
for key, values in dd.iteritems():
df = dd[key]['chart_data']
df.to_excel(writer, sheet_name='Sheet 1', index=False, startrow=start_row)
# Edited to respect your requirement for 1 blank row
# after each df
start_row = start_row + len(df) + 1 # or df.shape[0] et cetera
Run Code Online (Sandbox Code Playgroud)
它只是选择开始转储的行.您可能还想指定startcol,它的工作原理相同,但我认为这是按原样工作的.
编辑:另一种,也许更好的方法是concat.就像是:
df = pd.concat([dd[key]["chart_data"] for key, values in dd.iteritems()])
df.to_excel(...)
Run Code Online (Sandbox Code Playgroud)
但这只有在df适合记忆的情况下才有效.