Python批量合并Excel同名工作表
版权申诉
5星 · 超过95%的资源 50 浏览量
更新于2024-08-10
4
收藏 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数据的效率,尤其适合需要跨文件整理和比较数据的场景。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-08-22 上传
2022-05-27 上传
2023-06-11 上传
2023-04-07 上传
2020-09-19 上传
2020-12-22 上传
会计从业者学python提升办公效率
- 粉丝: 1
- 资源: 5
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程