在Python中使用xlrd和xlwt编写/创建工作表

在Python中使用xlrd和xlwt编写/创建工作表,python,xlrd,xlwt,Python,Xlrd,Xlwt,我正在尝试读取多个包含多个工作表的多个excel文件(所有excel文件中的工作表名称都相同),并在每个工作表中执行一些计算,并将与工作表对应的所有excel文件中的计算数据保存到新工作簿中。我要执行此操作的小片段如下所示: import xlrd import xlwt import os wb2 = xlwt.Workbook() wb2_name = 'AllSummary.xls' pwd = os.getcwd() for i in xrange(len(ListofExcelFi

我正在尝试读取多个包含多个工作表的多个excel文件(所有excel文件中的工作表名称都相同),并在每个工作表中执行一些计算,并将与工作表对应的所有excel文件中的计算数据保存到新工作簿中。我要执行此操作的小片段如下所示:

import xlrd
import xlwt
import os

wb2 = xlwt.Workbook()
wb2_name = 'AllSummary.xls'
pwd = os.getcwd()

for i in xrange(len(ListofExcelFiles)):
    fname = pwd + os.sep + ListofExcelFiles[i]
    wb1 = xlrd.open_workbook(fname)
    sheetNames = wb1.sheet_names()

    for j in xrange(len(sheetNames)):

        sheet = wb1.sheet_by_name(sheetNames[j])

        #<Read the Excel Data from Worksheet>
        #<Perform Calculation on Data Here>

        #<Create a new worksheet in wb2>
        sheet_all = wb2.add_sheet(sheetNames[j])

        #<Write the data to the worksheet>

wb2.save(wb2_name)
print "Output Excel File Saved!"
导入xlrd
导入xlwt
导入操作系统
wb2=xlwt.Workbook()
wb2_name='AllSummary.xls'
pwd=os.getcwd()
对于xrange中的i(len(listofexelfiles)):
fname=pwd+os.sep+listofexelfiles[i]
wb1=xlrd.open_工作簿(fname)
sheetNames=wb1.sheet_names()
对于X范围内的j(len(sheetNames)):
图纸=wb1。图纸名称(图纸名称[j])
#
#
#
工作表\u all=wb2。添加工作表(工作表名称[j])
#
wb2.save(wb2\u名称)
打印“保存输出Excel文件!”
我知道在
I
上的第一次迭代创建了一个新的工作表;将在下一次迭代中复制。有人能解释一下如何克服这种复制错误吗?任何帮助都将不胜感激


谢谢

您只需添加
if
语句,如下所示:

if sheetNames[j] in wb2.sheet_names():
    sheet_all = wb2.sheet_by_name(sheetNames[j])

else
    sheet_all = wb2.add_sheet(sheetNames[j])

# Save your calculations' results in "sheet_all"