<p>我没有使用xlsxwriter、xlrd或xlwt的经验。由于这是您的“第一次代码聚合”,我想我会提供一个使用openpyxl的替代方案。
我没有您的数据,所以测试有点困难,但是任何语法错误都可以修复。请让我知道如果这不运行,我会帮助修复,如果需要。在</p>
<p>我假设你的输出是一个单独的文件(报告.xlsx这里)和每个选中工作簿的选项卡(每个选项卡都以源书名命名)。在</p>
<pre><code> import openpyxl
from openpyxl import *
from openpyxl.utils import get_column_letter
interestingValues = ['CP','LNA', 'LastName']
report = Workbook()
dest_filename = 'report.xlsx'
# open original excelbook and access first sheet
for excelDocs in os.listdir('.'):
if not excelDocs.endswith('.xlsx'):
continue # skip non-xlsx files
workbook = load_workbook(excelDocs)
sheet = workbook.active
workingReportSheet = report.create_sheet(str(excelDocs.split('.')[0]))
i = 0
for row in range(1,sheet.max_row):
for col in range(sheet.max_column):
columnLetter = get_column_letter(col +1)
if str(sheet['%s%s' % (columnLetter,row)].value) in interestingValues:
i += 1
data = [sheet['%s%s' % (str(get_column_letter(col)),i)].value for col in range(1,sheet.max_column +1)]
for index, value in enumerate(data):
workingReportSheet['%s%s' % (str(get_column_letter(index+1)),i)].value = value
report.save(filename = dest_filename)
</code></pre>