[英]How to delete an existing worksheet in excel file using xlutils, xlwt, xlrd with python
[英]Writing/Creating a worksheet using xlrd and xlwt in Python
我正在尝试读取具有多个工作表的多个 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!"
我知道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"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.