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 ...
随机推荐
- qwb2023落荒而逃版
前言 qwb2023 .12.15 被打废了,N1决赛和qwb,有一个pwn可以做的但是已经在做misc看都不看--无语了. Pyjail ! It's myFILTER !!!|SOLVED|N1n ...
- 【LGR-148-Div.3】洛谷基础赛 #1 & MGOI Round I
[LGR-148-Div.3]洛谷基础赛 #1 & MGOI Round I T1 luoguP9502 『MGOI』Simple Round I | A. 魔法数字 \(100pts\) 水 ...
- NEMU PA 2-1 实验报告
课程地址:https://www.bilibili.com/video/BV1TE411P7tq 一.实验目的 通过PA2-0了解了汇编基础知识和如何去阅读i386手册后,在这个阶段我们就需要: 了解 ...
- NC50381 道路和航线
题目链接 题目 题目描述 FarmerJohn正在一个新的销售区域对他的牛奶销售方案进行调查.他想把牛奶送到T个城镇,编号为1到T.这些城镇之间通过R条道路(编号为1到R)和P条航线(编号为1到P)连 ...
- ffmpeg之avformat_alloc_output_context2
函数原型: int avformat_alloc_output_context2(AVFormatContext **ctx, const AVOutputFormat *oformat, const ...
- 使用spring boot jpa进行增删改查
项目地址:https://gitee.com/indexman/spring_boot_in_action 编写实体类User package com.laoxu.springboot.entity; ...
- cf思维题
1.B. Paranoid String 题意:操作一:01可以变成1,操作二:10可以变成0.给定一个串,判断字串经过若干次操作,能否长度变成1,统计数量. 思路:对01来说,1可以吃掉0,然后前边 ...
- win32 - MultiByteToWideChar的示例
该函数经常被用来处理UTF-8和ANSI格式的字符串,将它们转换为宽字节(UTF-16) #include <iostream> #include <Windows.h> #i ...
- SpringBoot 服务接口限流,搞定!
来源:blog.csdn.net/qq_34217386/article/details/122100904 在开发高并发系统时有三把利器用来保护系统:缓存.降级和限流.限流可以认为服务降级的一种 ...
- 项目实战:Qt球机控制工具 v1.0.0(球机运动八个方向以及运动速度,设置运动到指定角度,查询当前水平和垂直角度)
需求 1.调试球机控制,方向速度,设置到指定的角度: 2.支持串口,485等基于串口的协议端口配置打开: 3.子线程串口控制和.子线程协议解析: 4.支持球机水平运动速度.垂直运动速度设置: ...