我有Python代码,它将从多个Excel文件中获取数据,并在一个单独的文件中显示所选数据,以便进一步分析.它的工作原理:
import os
import openpyxl
folder = 'D:\My Documents\Code\Data'
output_file = 'D:\My Documents\Code\Data\masterfile.xlsx'
output_wb = openpyxl.Workbook()
output_sheet = output_wb.active
output_sheet.title = 'masterfile'
cells = ['A2', 'B2', 'C2']
for filename in os.listdir(folder):
if filename.endswith('.xlsx'):
filename = os.path.join(folder, filename)
workbook = openpyxl.load_workbook(filename)
values = [workbook.active[cell].value for cell in cells]
output_sheet.append(values)
output_wb.save(output_file)
但是,它只能从活动工作表中获取代码...这意味着如果我想从Sheet2获取数据,我必须用Sheet2作为活动工作表保存所有的EXCEL文件(数百个),否则它将无法工作.所以我想我应该试着在代码本身中设置活动工作表,但它不起作用.我只学习了一个月的Python,我不是一个程序员,而是一个处理大量生物数据的科学家.这些代码不起作用,我需要帮助来修复它.
import os
import openpyxl
folder = 'D:\My Documents\Code\Data'
output_file = 'D:\My Documents\Code\Data\masterfile.xlsx'
wb = openpyxl.Workbook()
output_wb = openpyxl.Workbook()
output_sheet = output_wb.active
output_sheet.title = 'masterfile'
cells = ['A2', 'B2', 'C2']
for filename in os.listdir(folder):
if filename.endswith('.xlsx'):
filename = os.path.join(folder, filename)
workbook = openpyxl.load_workbook(filename)
workbook.active = workbook.sheetnames.index('Sheet2')
values = [workbook.active[cell].value for cell in cells]
output_sheet.append(values)
output_wb.save(output_file)
我试着将活动工作表设置为Sheet2,但它只从原始Excel文件存储的活动工作表中获取数据.
我try 了这些链接中的建议,但无济于事:
Set the active sheet with openpyxl. How to switch between sheets in Excel openpyxl Python to make changes. 一百零二
感谢任何人的帮助.