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 ...
随机推荐
- Power BI 12 DAY
电商平台流量分析 案例练习 参数建模 建模-->新建参数 新建度量值使用SWITCH函数将需要的指标数据化 15.关键指标 = switch([指标选择 值],1,[1.访客数合计],2,[2. ...
- Power BI 9 DAY
图形决策树
- js 获取css非行内样式,你应该了解的getComputedStyle方法
壹 ❀ 引 我们知道书写css有三种做法,它们分别是行内样式,内嵌样式和外部引用.我们来看个例子,下面这个div分别通过内部样式添加了颜色,内嵌样式添加了字体大小,外部引入样式添加了宽度. < ...
- java 从零开始手写 redis(七)LRU 缓存淘汰策略详解
前言 java从零手写实现redis(一)如何实现固定大小的缓存? java从零手写实现redis(三)redis expire 过期原理 java从零手写实现redis(三)内存数据如何重启不丢失? ...
- Goland 使用[临时]
环境变量 因为module模式的引入, 多个项目可以共用同一套External Libraries, 在File->Settings->Go中, 设置GOROOT为go安装目录, 例如 / ...
- Js的GC机制
Js的GC机制 在Js七种基本类型中的引用类型Object的变量其占据内存空间大且大小不固定,在堆内存中实际存储对象,在栈内存中存储对象的指针,对于对象的访问是按引用访问的.在栈区中执行的变量等是通过 ...
- 【Azure Developer】在Azure Storage Account的两个Blob可以同步吗?可以跨订阅拷贝吗?
问题描述 不同订阅下的Azure Storage Account中Blob资源可以同步吗? 解决方案 可以.通过Azure 官方推荐的Storage Account工具来完成 Copy/Paste 操 ...
- 【Azure 应用服务】Azure Function HTTP Trigger 遇见奇妙的500 Internal Server Error: Failed to forward request to http://169.254.130.x
问题描述 使用 Azure Funciton App,在本地运行完全成功的Python代码,发布到Azure Function就出现了500 Internal Server Error. 而且错误消 ...
- 【Azure Redis 缓存】Azure Cache for Redis 专用终结点, 虚拟网络, 公网访问链路
问题描述 为优化Redis访问链路,对下面三种方案进行对比: 1.Redis添加到虚拟网络 2.Redis添加专用终结点 3.Redis默认公共链路 问题分析 第三种:Redis默认公共链路,顾名思义 ...
- 【Azure 媒体服务】使用媒体服务 v3 对视频进行上载、编码和流式传输时遇见的AAD错误
问题描述 使用媒体服务 v3 对视频进行上载.编码和流式传输示例时,遇见了AAD错误. TIP: Make sure that you have filled out the appsettings. ...