python合并excel

0 思路

注意:此代码1,2是将多个excel合并到一个excel,3是根据某个键进行合并,针对键的合并需要使用merge函数,实现excel的vlookup功能

主要使用pandas操作excel,然后写入excel表

  1. pandas读取excel后数据类型是pd.DataFrame

  2. 将循环遍历的表都添加到一个DataFrame中

  3. 然后保存到excel

1. 多个文件读取合并

python 复制代码
'''
author : SnowMaple
time : 2023/11/30 9:24
'''

import pandas as pd 
import os import re # 用于存储所有要合并的Excel文件的文件名 

excel_files = ["1.xlsx", "2.xlsx", "3.xlsx","5.xlsx","6.xlsx"] # 创建一个用于存储所有数据的 combined_data = pd.DataFrame() # 逐个读取每个Excel文件的第一个sheet并合并 
for file in excel_files: 
    if os.path.isfile(file): # 确保文件存在 
        df = pd.read_excel(file, sheet_name=0) # 读取第一个sheet
        combined_data = combined_data.append(df, ignore_index=True) # 创建一个新的Excel文件来保存合并后的数据 
output_file = "combined_data3.xlsx"
combined_data.to_excel(output_file, index=False) 
print(f"合并后的数据已保存到 {output_file}")

2. 遍历文件夹读取

python 复制代码
'''
author : SnowMaple
time : 2023/11/30 9:24
'''

import pandas as pd
import os
import re

# 用于存储所有要合并的Excel文件的文件名

pattern = re.compile(r"^\d")
# 创建一个用于存储所有数据的DataFrame
folder_path = "C:/kaggle_data/titanic"
combined_data = pd.DataFrame()
for filename in os.listdir(folder_path):
    if filename.endswith(".xlsx") and pattern.search(filename):
        print(filename)
        df = pd.read_excel(filename, sheet_name=0)  # 读取第一个sheet
        combined_data = combined_data.append(df, ignore_index=True)
        

# 创建一个新的Excel文件来保存合并后的数据
output_file = "combined_data3.xlsx"
combined_data.to_excel(output_file, index=False)

print(f"合并后的数据已保存到 {output_file}")

3. 实现vlookup功能

根据某个键合并

python 复制代码
'''
author : SnowMaple
time : 2023/11/30
'''

import pandas as pd
# 1. 读数据
A = pd.read_excel('.\厦门XXXXX有限公司_20230XXXXX3351.xlsx') 
#也可指定列名 converters={"列名1":str, "列名2":str}
B = pd.read_excel('.\XXXXX明细.xlsx')

# 2. 数据预处理:注意A表和B表指定合并的键要一致
B= B.rename(columns={"号码":"serial_number"})

# 3. 合并 写入excel中
df = pd.merge(left=A, right=B, on="serial_number", how="outer")
df.to_excel("1129.xlsx")
相关推荐
紫雾凌寒30 分钟前
计算机视觉 |解锁视频理解三剑客——TimeSformer
python·深度学习·神经网络·计算机视觉·transformer·timesformer
程序员杰哥1 小时前
测试用例详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
go54631584657 小时前
本地部署 GitHub 上的 Python 人脸识别项目
开发语言·python·github
FreakStudio8 小时前
手把手教你用 MicroPython 玩转幻尔串口舵机,代码+教程全公开
python·嵌入式·大学生·面向对象·技术栈·电子diy·电子计算机
tekin8 小时前
基于 Python 开发在线多人游戏服务器案例解析
服务器·python·游戏·在线多人游戏服务器
让学习成为一种生活方式10 小时前
libGL.so.1: cannot open shared object file: No such file or directory-linux022
linux·开发语言·python
java1234_小锋10 小时前
一周学会Flask3 Python Web开发-Jinja2模板继承和include标签使用
python·flask·flask3
图书馆钉子户10 小时前
from flask_session import Session 为什么是Session(app)这么用?
python·flask·mybatis
一只蜗牛儿10 小时前
Sherpa-ONNX:说话人识别与语音识别自动开启(VAD)+ Python API 完整指南
人工智能·python·语音识别
结衣结衣.10 小时前
【OpenCV】入门教学
图像处理·人工智能·python·opencv