今天帮一个朋友干点活,涉及到了两个表格文件的工作表合并到一个工作簿,分别作为单独的工作表。我用小蜜蜂AI的GPT问答,如下图所示:
代码语言:javascript复制from openpyxl import load_workbook
# 打开目标工作簿
target_workbook = load_workbook('目标工作簿.xlsx')
# 打开其他工作簿
other_workbook = load_workbook('其他工作簿.xlsx')
# 获取其他工作簿中的表
sheets = other_workbook.sheetnames
# 遍历每个表并将其追加到目标工作簿
for sheet_name in sheets:
# 选择要复制的表
other_sheet = other_workbook[sheet_name]
# 创建目标工作簿中的新表
target_sheet = target_workbook.create_sheet(title=sheet_name)
# 复制其他工作簿表的数据到目标工作簿表
for row in other_sheet.iter_rows(values_only=True):
target_sheet.append(row)
# 保存目标工作簿
target_workbook.save('目标工作簿.xlsx')
在示例代码中,你需要将目标工作簿.xlsx和其他工作簿.xlsx替换为实际的文件路径。load_workbook函数用于加载工作簿。
首先,我们打开目标工作簿并获取其对象。然后,打开其他工作簿并获取其对象。
接下来,我们获取其他工作簿中的表名,并使用create_sheet方法在目标工作簿中创建相应的新表。
然后,通过遍历其他工作簿中的每个表,我们可以复制数据并将其追加到目标工作簿的对应表中。
最后,我们保存目标工作簿,以便将新表添加到文件中。
请确保在运行代码之前已经安装了openpyxl库。你可以使用pip命令进行安装,例如:pip install openpyxl。
这个示例代码适用于将其他工作簿中的所有表追加到目标工作簿中。如果你只需要追加某个特定的表,可以根据需要做出相应的修改。
代码几乎不用修改,完全能实现功能。