2013-01-08 68 views
49

如何將一列DataFrame導出到一個Excel電子表格中?
to_excel狀態的文檔:將DataFrame列表保存到多張Excel電子表格


如果通過現有ExcelWriter對象,然後在片材將被添加 到現有的工作簿。這可以用於不同的 DataFrames保存到一個工作簿

writer = ExcelWriter('output.xlsx')
df1.to_excel(writer, 'sheet1')
df2.to_excel(writer, 'sheet2')
writer.save()

在此之後,我想我可以寫節省DataFrames到一個列表的功能電子表格如下:

from openpyxl.writer.excel import ExcelWriter 
def save_xls(list_dfs, xls_path): 
    writer = ExcelWriter(xls_path) 
    for n, df in enumerate(list_dfs): 
     df.to_excel(writer,'sheet%s' % n) 
    writer.save() 

但是(有兩個小DataFrames,每一個都可以節省to_excel單獨列表),將引發一個異常(編輯:回溯刪除)

AttributeError: 'str' object has no attribute 'worksheets' 

大概我沒有正確調用ExcelWriter,應該如何我是爲了做到這一點?

回答

74

您應該使用自己的大熊貓類ExcelWriter

from pandas import ExcelWriter 
# from pandas.io.parsers import ExcelWriter 

然後save_xls功能按預期工作:

def save_xls(list_dfs, xls_path): 
    writer = ExcelWriter(xls_path) 
    for n, df in enumerate(list_dfs): 
     df.to_excel(writer,'sheet%s' % n) 
    writer.save() 
+1

......什麼工具! –

+0

爲什麼不只是'df.to_excel('file_path')'? – root

+0

@root我不認爲這適用於數據框列表? –

相關問題