Python 合并Excel文件(Excel文件多sheet)
一、Python合并Excel文件多sheet《方法1》
import os
import pandas as pd # 指定包含Excel文件的文件夹路径
folder_path = 'C:\\Users\\Admin\\Desktop\\数据核对' # 获取文件夹中的所有Excel文件
excel_files = [file for file in os.listdir(folder_path) if file.endswith(('.xls', '.xlsx'))] # 创建一个空的DataFrame来存储合并后的数据
merged_data = pd.DataFrame() # 遍历所有Excel文件
for file in excel_files:
file_path = os.path.join(folder_path, file) # 读取Excel文件,获取所有工作表
xls = pd.ExcelFile(file_path) # 遍历每个工作表并合并它们
for sheet_name in xls.sheet_names:
df = pd.read_excel(file_path, sheet_name=sheet_name) # 添加一个新的列,用于标识数据来自哪个Excel文件的哪个工作表
df['SourceFile'] = file
df['SheetName'] = sheet_name # 合并数据,将当前工作表的数据追加到已合并的数据中
merged_data = merged_data.append(df, ignore_index=True) # 将合并后的数据保存为一个新的Excel文件,指定index=False以避免保存索引列
merged_data.to_excel('C:\\Users\\Admin\\Desktop\\合并数据.xlsx', index=False) print('Excel文件合并完成并保存为合并数据.xlsx,包含标识列SourceFile和SheetName')
二、Python合并Excel文件多sheet《方法2》
import pandas as pd
import glob
import os # 使用glob.glob函数获取指定目录下所有以.xlsx为扩展名的文件路径,并将结果存储在file_paths列表中
file_paths = glob.glob("C:\\Users\\Admin\\Desktop\\数据核对\\*.xlsx") # 创建一个空的DataFrame,用于存储合并后的数据
df = pd.DataFrame() # 循环遍历每个Excel文件,并将其添加到DataFrame中
for file_path in file_paths:
# 使用pd.read_excel函数读取Excel文件
xls = pd.ExcelFile(file_path)
print(xls) for sheet_name in xls.sheet_names:
# 使用pd.read_excel函数读取指定工作表的数据
temp_df = pd.read_excel(file_path, sheet_name=sheet_name) # 使用os.path.basename函数获取文件名(包含扩展名)
file_name = os.path.basename(file_path) # 添加一个新的列,用于标识数据来自哪个Excel文件的哪个工作表
temp_df['SourceFile'] = file_name
temp_df['SheetName'] = sheet_name # 合并数据,将当前工作表的数据追加到已合并的数据中
df = df.append(temp_df, ignore_index=True) # 使用df.to_excel函数将合并后的数据保存为新的Excel文件,index=False表示不保存行索引
df.to_excel("C:\\Users\\Admin\\Desktop\\合并数据.xlsx", index=False)
Python 合并Excel文件(Excel文件多sheet)的更多相关文章
- python合并多个txt文件
python合并多个txt文件 #合并一个文件夹下的多个txt文件 #coding=utf-8 import os #获取目标文件夹的路径 filedir = os.getcwd()+'\\数据' # ...
- Python合并多个Excel数据
安装模块 1.找到对应的模块 http://www.python-excel.org/ 2.用pip install 安装 pip install xlrdpip install XlsxWrite ...
- python合并多个excel
前言 1.工作中,经常需要合并多个Excel文件.如果文件数量比较多,则工作量大,易出错,此时,可以使用Python来快速的完成合并. 2.使用方法:将需要合并的多个Excel文件放到同一个文件夹下, ...
- 针对不同场景的Python合并多个Excel方法
大家好,我是辰哥~ 在辰哥看来,技术能够减少繁琐工作带来的枯燥,技术+实际=方便.最近辰哥也是在弄excel文件的时候发现手动去整理有点繁琐枯燥,想着技术可以代替我去处理这部分繁琐的工作那何乐而不为呢 ...
- python合并多个csv文件并去重
#coding=utf-8 import os import pandas as pd import glob def hebing(): csv_list = glob.glob('*.csv') ...
- python合并多个txt文件成为一个文件
#coding=utf-8 import os import os.path #文件夹遍历函数 #获取目标文件夹的路径 filedir = './data/click_data' #获取当前文件夹中的 ...
- Python遍历一个文件夹下有几个Excel文件及每个Excel文件有几个Sheet
一. 解决问题: 工作中常会遇到合并Excel文件的需求,Excel文件数量不确定,里面的Sheet 数量是可变的,Sheet Name是可变的,所以,需要用到遍历一个文件夹下有几个Excel文件,判 ...
- Python——合并指定文件夹下的所有excel文件
前提:该文件夹下所有文件有表头且具有相同的表头. import glob # 同下 from numpy import * #请提前在CMD下安装完毕,pip install numppy impor ...
- 把当前文件夹的xlsx或xls文件合并到一个excel文件中的不同sheet中
把当前文件夹的xlsx或xls文件合并到一个excel文件中的不同sheet中步骤如下: 把需要合并的文件放到同一个文件夹 在该文件夹中新建一个excel文件 打开新建的excel问价,把鼠标放到sh ...
- python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件)
# python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件) import tkinter as tk from tkinter import filedial ...
随机推荐
- 基于python+mysql的宠物领养网站系统
功能介绍 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发. 整个平台包括前台和后台两个部分. 前台功能包括:首页.宠物详情页.用户中心模块. 后台功能包 ...
- Thinkpad笔记本指点杆(小红点)自动漂移的问题
Dell, HP, Thinkpad在高端商务机上会配备指点杆(小红点), 有很多人是指点杆的忠实用户, 因为工作时可以双手不离键盘, 非常方便. 在指点杆的使用过程中, 有时候会遇到指点杆自己漂移的 ...
- 300ms点击延迟
300ms点击延迟 移动端的300ms点击延迟是因为移动端可以进行双击缩放的操作,因此浏览器在click之后要等待300ms,看用户有没有下一次点击,也就是判断这次操作是单击还是双击.如果通过监听to ...
- windows 上 ffmpeg 库的安装
真复杂啊 安装 ffmpeg 库有两种途径,一种是自己下载源码再去编译,另一种是使用 vcpkg 自动安装 一般情况下,第二种是最简单方便的,但是如果你需要使用 ffmpeg 的特定历史版本,那就有点 ...
- 原来你是这样的JAVA--[07]聊聊Integer和BigDecimal
今天来聊聊Java中跟数值处理相关的两个类型Integer和BigDecimal. 说起这两个类型,我们肯定都不陌生,但是其中有些容易踩到的坑需要注意避让. Integer 整型我们应该每天都会用到, ...
- Caused by: com.alibaba.druid.pool.DataSourceClosedException: dataSource already closed
报错场景:spring boot+mybatis,线程池执行批量任务.springboot正常启动后,定时任务中数据库查询报错.报错信息如下: 1 Caused by: org.apache.ibat ...
- 第126篇: 异步函数(async和await)
好家伙,本篇为<JS高级程序设计>第十章"期约与异步函数"学习笔记 ES8 的 async/await 旨在解决利用异步结构组织代码的问题. 为为此增加了两个新关键 ...
- Excel Undo-Redo的编程问题
Excel Undo历史栈对外是不透明的. 代码对Excel表单的编辑操作会清空Excel内部的Undo历史. Application.OnUndo只支持一次撤销,并且不支持ReDo. 使用DDE的方 ...
- 【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
问题描述 PHP的Web Job,通过artisan来配置路径启动PHP任务,相关启动脚本如下: artisan_path = "d:\\home\\site\\wwwroot"; ...
- 【Azure 应用服务】部署WAR包到App Service访问出现404错误的解决方式
问题描述 在Linux的App Service上,通过FTP把war文件和HTML静态文件上传到wwwroot目录下,静态文件访问成功,但是java应用中的请求都返回404错误 问题解决 因为FTP上 ...