当前位置: 首页 > 知识库问答 >
问题:

使用OpenPyXL导入多个Excel文件

秋阳荣
2023-03-14

我正在尝试读取多个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')

谢谢!

共有1个答案

窦成荫
2023-03-14

我不太懂你的代码。看起来太复杂了。在工作表之间复制时,您可能希望使用ws。行

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))
 类似资料:
  • 我在openpyxl中保存Excel文件时遇到问题。我正在尝试创建一个处理脚本,该脚本将从一个excel文件中获取数据,并将其转储到一个转储excel文件中,在excel中使用公式进行一些调整后,我将在转储excel文件中保存所有处理过的数据。我目前的代码也是如此。 自从两三周前我刚开始使用Python以来,我知道我的很多代码都很混乱。我还有几个悬而未决的问题,我可以在以后处理。似乎没有很多人为了

  • 问题内容: 我是新手,想知道有关从一台服务器导入文件到另一台服务器的信息。我尝试了以下命令,它对我来说很好用。现在,我想知道当有多个文件时,如何一次导入所有文件。我找不到任何相关的文档,这是不可能的。请帮助我,这可能吗? 问题答案: 您总是可以编写一些shell脚本。

  • 我正在使用openpyxl导入/导出xlsx文件。 但是我不能导入我用openpyxl导出的文件。 我必须在Excel中打开导出的xlsx文件,更改导入的xlsx文件的一些值并保存它(它的大小也会改变(例如:从148 Ko到180 Ko)。然后我可以用openpyxl导入它。 我认为,有一个问题,在出口,因为后保存手动导入作品。 谢谢

  • 问题内容: 我正在尝试创建一个程序,将所有数据从excel写入多个csv文件。 目前,我的程序创建了 n 个文件,并且只有excel的最后一行写入了最后一个csv文件。 编程背景观察: 似乎文件正在写入。但是对于每个写入的行,它都会以某种方式创建相同的文件250次。它将擦除最后写入的行。 使用 OutputStream 或 BufferedWriter 可能会遇到一些问题。我只是不知道那是什么。

  • 本文向大家介绍Python使用OpenPyXL处理Excel表格,包括了Python使用OpenPyXL处理Excel表格的使用技巧和注意事项,需要的朋友参考一下 官方文档: http://openpyxl.readthedocs.io/en/default/ OpenPyXL库 --单元格样式设置 单元格样式的控制,依赖openpyxl.style包,其中定义有样式需要的对象,引入样式相关: f

  • 通过下面的函数,您可以通过PHP将数据从Excel电子表格导入数据库。 表包含以下字段: 但我需要以下列:以导入另一个发票表,该表将包含以下字段: 其中client_id将接收客户端id。 我使用以下方法导入: 控制器 模型