2016-01-22 102 views
1

問題 使用Pandas和Python創建精美的報告。是否可以使用Python將工作表插入到現有工作簿中?

建議的解決方案 使用含很好地格式化與另一預填充工作表中引用一個模板表模板XLSX文件,刪除預填片和插入來自熊貓新的工作表。該模板工作表將失去鏈接恢復到#REF,所以這些將需要重新命名。

我想:

sheet1 = twb.add_sheet(swb1s1) 
    File "C:\Users\pa003202\AppData\Local\Continuum\Anaconda3\lib\site-packages\xlwt\Workbook.py", line 366, in add_sheet 
    sheetname = sheetname.decode(self.encoding) 
AttributeError: 'Sheet' object has no attribute 'decode' 
    sheetname = sheetname.decode(self.encoding) 
AttributeError: 'Sheet' object has no attribute 'decode' 

有沒有一種方法以將來自大熊貓數據到工作簿或打開工作簿,並插入一個表:

import os 
import xlrd, xlwt 
import envconfig 


swb1 = xlrd.open_workbook(os.path.join(envconfig.REPORT_WRITER_PATH,'TEMPLATE.xls'), on_demand=True, formatting_info=True) 
swb2 = xlrd.open_workbook(os.path.join(envconfig.REPORT_WRITER_PATH,'REPORT.xls'), on_demand=True, formatting_info=True) 
swb1s1 = swb1.sheet_by_name('Template') 
swb2s1 = swb2.sheet_by_name('Report') 

twb = xlwt.Workbook() 
sheet1 = twb.add_sheet(swb1s1) 
sheet2 = twb.add_sheet(swb2s1) 
twb.save("python_spreadsheet.xls") 

與上述錯誤?

回答

3

我解決了這個通過如所描述的創建模板和用於這裏的解決方案:

建議的解決方案使用含有很好地格式化與另一預填充的工作表的引用的模板片模板XLSX文件,插入新的來自熊貓的工作表。模板工作表不會丟失提供插入的工作表具有相同名稱的鏈接。

解決方案

How to write to an existing excel file without overwriting data?和這個工程的方案。

相關問題