通过Python从Excel工作簿中的多个工作表添加单元格值

1 投票
1 回答
2457 浏览
提问于 2025-04-18 12:24

在我的Excel工作簿里,有三个不同的表格(这三个表格的格式是一样的,分别记录了不同类别的数量,比如乘用车、重型卡车等等)。我需要把这三个表格的数据合并成一个新的工作簿(叫做CombinedCount.xlsx),合并的方式是这样的:

='Passenger'!B3+'Heavy Truck'!B3+'Light Truck'!B3

乘用车:表格1
重型卡车:表格2
轻型卡车:表格3

需要加起来的单元格很多,而且这段代码还会应用到很多格式完全一样的工作簿上。有没有办法用一些代码来自动化这个过程呢?

我对Python还很陌生,所以我在边学边做。

1 个回答

0

你可以使用openpyxl这个包。这里有安装说明、文档和示例:

https://pythonhosted.org/openpyxl/

然后,如果你想把一个工作簿中不同工作表的信息添加到一个新的工作簿里,可以按照以下步骤操作。

1) 加载工作簿

import openpyxl
wb1 = openpyxl.load_workbook('workbook1.xlsx')

2) 加载工作表

ws1 = wb1.get_sheet_by_name('Sheet1')
ws2 = wb1.get_sheet_by_name('Sheet2')
ws3 = wb1.get_sheet_by_name('Sheet3')

3) 在B3单元格中添加值

x = ws1['B3'] + ws2['B3'] + ws3['B3']

4) 最后,创建新的工作簿

wb2 = openpyxl.Workbook()
ws = wb2.active
ws.title = 'CombinedCount'
ws['B3'] = x
wb2.save('CombinedCount.xlsx')

你可以根据你拥有的工作簿和工作表来循环执行这些操作。

你也可以使用其他包来读写Excel文件,比如xlwt、xlrd和xlsxwriter。可以看看这个 回答,它涉及到一个类似的问题。希望对你有帮助。

撰写回答