Python批量合并Excel同名工作表
版权申诉
5星 · 超过95%的资源 177 浏览量
更新于2024-08-10
3
收藏 13KB DOCX 举报
"该资源是关于使用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数据的效率,尤其适合需要跨文件整理和比较数据的场景。
会计从业者学python提升办公效率
- 粉丝: 1
- 资源: 5
最新资源
- IEEE 14总线系统Simulink模型开发指南与案例研究
- STLinkV2.J16.S4固件更新与应用指南
- Java并发处理的实用示例分析
- Linux下简化部署与日志查看的Shell脚本工具
- Maven增量编译技术详解及应用示例
- MyEclipse 2021.5.24a最新版本发布
- Indore探索前端代码库使用指南与开发环境搭建
- 电子技术基础数字部分PPT课件第六版康华光
- MySQL 8.0.25版本可视化安装包详细介绍
- 易语言实现主流搜索引擎快速集成
- 使用asyncio-sse包装器实现服务器事件推送简易指南
- Java高级开发工程师面试要点总结
- R语言项目ClearningData-Proj1的数据处理
- VFP成本费用计算系统源码及论文全面解析
- Qt5与C++打造书籍管理系统教程
- React 应用入门:开发、测试及生产部署教程