|
30鱼币
大佬们,我现在这里有两个excel文件:Bundles.xslx, Inventory.xslx
我现在想把两个文件合并到一起,并且保留两个excel的所有数据,就像这样
我之前用了openpyxl模块,但是不管怎么复制,其中一个excel文件都会覆盖掉另外一个,以下是代码
- import openpyxl
- wb = openpyxl.load_workbook('/Users/shenshuaichen/Desktop/Bundles.xlsx')
- wb1 = openpyxl.load_workbook('/Users/shenshuaichen/Desktop/Inventory (1).xlsx')
- ws = wb['KitComponentResults']
- ws1 = wb1['DailyInventoryReportResults']
- for i, row in enumerate(ws.iter_rows()):
- for j, cell in enumerate(row):
- ws1.cell(row = i + 1, column=j+1, value = cell.value)
- wb1.save('/Users/shenshuaichen/Desktop/Inventory.xlsx')
复制代码
本帖最后由 XiaoPaiShen 于 2019-10-28 08:33 编辑
假设两个原始的Excel文件中,都是只有一个表单‘Sheet’
- import openpyxl
- def create_sheet(sheet_name, workbook):
- # 创建表单
- if sheet_name in workbook.sheetnames:
- del workbook[sheet_name]
- ws_sheet = workbook.create_sheet(title = sheet_name)
- return ws_sheet
- def write_content(ws_source, ws_target):
- content = []
- for row in ws_source.iter_rows():
- row_con = [row[i].value for i in range(len(row))]
- content.append(row_con)
- for row in content:
- ws_target.append(row)
- def main(file_name):
- bundles_file_name = 'Bundles.xlsx'
- inventory_file_name = 'Inventory.xlsx'
- wb_bun = openpyxl.load_workbook(bundles_file_name)
- ws_bun = wb_bun['Sheet']
- wb_inv = openpyxl.load_workbook(inventory_file_name)
- ws_inv = wb_inv['Sheet']
- wb_target = openpyxl.Workbook()
- ws_bundles = create_sheet('Bundles', wb_target)
- ws_inventory = create_sheet('Inventory', wb_target)
- write_content(ws_bun, ws_bundles)
- write_content(ws_inv, ws_inventory)
- wb_target.save(file_name)
- if __name__ == '__main__':
- file_name = 'mergedfile.xlsx'
- main(file_name)
复制代码
|
最佳答案
查看完整内容
假设两个原始的Excel文件中,都是只有一个表单‘Sheet’
|