使用OpenPyXL导入多个Excel文件

我正在尝试读取多个Excel文件,并将每个文件中的数据附加到一个主文件中。 每个文件将有相同的标题(所以我可以跳过初始文件后的第一行的导入)。

我对Python和OpenPyXL模块都很新颖。 我能够毫无问题地导入第一个工作簿。 我需要打开后续文件并复制数据以粘贴到原始工作表中时出现问题。

这是我的代码到目前为止:

# Creating blank workbook from openpyxl import Workbook wb = Workbook() # grab active worksheet ws = wb.active # Read in excel data from openpyxl import load_workbook wb = load_workbook('first_file.xlsx') #explicitly loading workbook, will automate later # grab active worksheet in current workbook ws = wb.active #get max columns and rows sheet = wb.get_sheet_by_name('Sheet1') print ("Rows: ", sheet.max_row) # for debugging purposes print ("Columns: ", sheet.max_column) # for debugging purposes last_data_point = ws.cell(row = sheet.max_row, column = sheet.max_column).coordinate print ("Last data point in current worksheet:", last_data_point) #for debugging purposes #import next file and add to master append_point = ws.cell(row = sheet.max_row + 1, column = 1).coordinate print ("Start new data at:", append_point) wb = load_workbook('second_file.xlsx') sheet2 = wb.get_sheet_by_name('Sheet1') start = ws.cell(coordinate='A2').coordinate print("New data start: ", start) end = ws.cell(row = sheet2.max_row, column = sheet2.max_column).coordinate print ("New data end: ", end) # write a value to selected cell #sheet[append_point] = 311 #print (ws.cell(append_point).value) #save file wb.save('master_file.xlsx') 

谢谢!

我不太了解你的代码。 这看起来太复杂了。 在工作表之间进行复制时,可能需要使用ws.rows

 wb1 = load_workbook('master.xlsx') ws2 = wb1.active for f in files: wb2 = load_workbook(f) ws2 = wb2['Sheet1'] for row in ws2.rows[1:]: ws1.append((cell.value for cell in row))