python 批量合并Excel表格

在日常工作中,我们经常会遇到把许许多多的Excel 表格进行合并的情况。那么人工合并,不仅效率慢,而且还容易出错,其实我们是可以python 去实现这些重复性的工作。

假设,在我的电脑上,有这样的一些Excel 文件。我想把测试1 和测试2 中的数据,合并到一块。
在这里插入图片描述
这是测试1 表格中的数据:(数据都是随便填的,其他不要那么在意,哈哈哈哈!)
在这里插入图片描述
这是测试2 表格中的数据:
在这里插入图片描述

解决思路:

Excel是由行和列组成的,所以这里将所有文件中的所有sheet中的数据读取出来组成一个二维数组,然后再写入新的Excel

上代码:

import xlrd,os
import xlsxwriter

excel_list = []
excel_files = os.listdir(os.getcwd())
for excel in excel_files:
    if excel.endswith(".xlsx"):
        excel_list.append(excel)

# 读取数据
excel_data = []
for i in excel_list:
    wb = xlrd.open_workbook(i)
    for sheet in wb.sheets():
        for rownum in range(sheet.nrows):
            excel_data.append(sheet.row_values(rownum))
print(excel_data)

# 写入数据
target_xls = r'C:\Users\Lenovo\Desktop\AiShu\AiShuWork\Test111\合并.xlsx'
workbook = xlsxwriter.Workbook(target_xls)
worksheet = workbook.add_worksheet()
for i in range(len(excel_data)):   # 双重循环,分别向 行 和 列 写入数据
    for j in range(len(excel_data[i])):
        worksheet.write(i, j, excel_data[i][j])
print("合并excel成功!!")

# 关闭文件流
workbook.close()

合并后的数据是这样的,当然有一些细节自己可以再 调整。
在这里插入图片描述

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值