Python批量合并Excel同名工作表
版权申诉
![](https://csdnimg.cn/release/wenkucmsfe/public/img/starY.0159711c.png)
"该资源是关于使用Python自动化合并多个Excel文件中同名Sheet的方法。"
在日常办公中,处理大量Excel表格数据时,有时需要将不同文件中的同名Sheet合并到一起,以便于管理和分析。Python作为一个强大的编程语言,提供了pandas库来方便地操作Excel数据。本示例中,通过Python实现这一功能,步骤如下:
首先,导入必要的库,包括pandas(用于数据处理)和os(用于文件操作):
```python
import pandas as pd
import os
```
接下来,创建一个集合`all_fname`来存储所有Sheet的名字,以及一个列表`dfs`来存放读取到的数据:
```python
all_fname = set() # 存储所有Sheet名字的集合
dfs = [] # 存放数据的列表
```
然后,使用`os.listdir()`遍历指定目录下的所有文件,并筛选出`.xlsx`格式的文件:
```python
filelists = os.listdir('C:/Users/Administrator/PycharmProjects/excel/多个excel的同名工作表的合并')
for fname in filelists:
if fname.endswith('.xlsx') and fname != 'all_data.xlsx':
# ...
```
对每个符合条件的Excel文件,使用`pd.read_excel()`读取所有Sheet的内容,并将其添加到`dfs`列表中:
```python
df = pd.read_excel(fname, header=None, sheet_name=None)
dfs.append(df)
```
在遍历过程中,将所有Sheet的名称添加到`all_fname`集合中,以便后续使用:
```python
for sh in df:
all_fname.add(sh)
```
创建一个新的Excel写入器`writer`,它可以用来保存合并后的数据:
```python
writer = pd.ExcelWriter('all_data.xlsx')
```
接着,遍历`all_fname`中的每个Sheet名,收集同名Sheet的数据,并使用`pd.concat()`拼接这些数据:
```python
data_li = [] # 存放相同工作表名的数据
for data in dfs:
n_rows = data_li.append(data[sheet_name])
group_data = pd.concat(data_li) # 拼接同名数据
```
最后,将拼接后的数据写入`writer`,并保存到新的Excel文件中:
```python
group_data.to_excel(writer, sheet_name=sheet_name, index=False)
```
完成所有Sheet的处理后,保存整个工作簿:
```python
writer.save()
```
这个Python脚本的执行结果是,它会将指定目录下所有Excel文件中同名的Sheet合并到一个名为`all_data.xlsx`的新Excel文件中,便于集中查看和处理数据。这种方法极大地提高了处理大量Excel数据的效率,尤其适合需要跨文件整理和比较数据的场景。
2022-05-27 上传
2022-08-22 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-04-07 上传
2023-03-28 上传
![](https://profile-avatar.csdnimg.cn/5ea8fcf4240440629d0f4910b9202d74_weixin_54242264.jpg!1)
会计从业者学python提升办公效率
- 粉丝: 1
- 资源: 5
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景