千家信息网

Pandas如何批量拆分Excel与合并Excel

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"Pandas如何批量拆分Excel与合并Excel"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Pandas如何批量拆分Excel与合并Ex
千家信息网最后更新 2026年11月03日Pandas如何批量拆分Excel与合并Excel

这篇文章主要介绍"Pandas如何批量拆分Excel与合并Excel"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Pandas如何批量拆分Excel与合并Excel"文章能帮助大家解决问题。

一、实例演示

1.将一个大Excel等份拆成多个Excel
2.将多个小Excel合并成一个大Excel并标记来源

work_dir="./course_datas/c15_excel_split_merge"splits_dir=f"{work_dir}/splits"import osif not os.path.exists(splits_dir):    os.mkdir(splits_dir)

二、读取源Excel到Pandas

import pandas as pddf_source = pd.read_excel(f"{work_dir}/crazyant_blog_articles_source.xlsx")df_source.head()
id title tags
0 2585 Tensorflow怎样接收变长列表特征 python,tensorflow,特征工程
1 2583 Pandas实现数据的合并concat pandas,python,数据分析
2 2574 Pandas的Index索引有什么用途? pandas,python,数据分析
3 2564 机器学习常用数据集大全 python,机器学习
4 2561 一个数据科学家的修炼路径 数据分析
df_source.indexRangeIndex(start=0, stop=258, step=1)df_source.shape

(258, 3)

total_row_count = df_source.shape[0]total_row_count

258

三、将一个大Excel等份拆成多个Excel

1.使用df.iloc方法,将一个大的dataframe,拆分成多个小dataframe
2.将使用dataframe.to_excel保存每个小Excel

1、计算拆分后的每个excel的行数

# 这个大excel,会拆分给这几个人user_names = ["xiao_shuai", "xiao_wang", "xiao_ming", "xiao_lei", "xiao_bo", "xiao_hong"]# 每个人的任务数目split_size = total_row_count // len(user_names)if total_row_count % len(user_names) != 0:    split_size += 1split_size

43

2、拆分成多个dataframe

df_subs = []for idx, user_name in enumerate(user_names):    # iloc的开始索引    begin = idx*split_size    # iloc的结束索引    end = begin+split_size    # 实现df按照iloc拆分    df_sub = df_source.iloc[begin:end]    # 将每个子df存入列表    df_subs.append((idx, user_name, df_sub))

3、将每个datafame存入excel

for idx, user_name, df_sub in df_subs:    file_name = f"{splits_dir}/crazyant_blog_articles_{idx}_{user_name}.xlsx"    df_sub.to_excel(file_name, index=False)

四、合并多个小Excel到一个大Excel

1.遍历文件夹,得到要合并的Excel文件列表
2.分别读取到dataframe,给每个df添加一列用于标记来源
3.使用pd.concat进行df批量合并
4.将合并后的dataframe输出到excel

1. 遍历文件夹,得到要合并的Excel名称列表

import osexcel_names = []for excel_name in os.listdir(splits_dir):    excel_names.append(excel_name)excel_names

['crazyant_blog_articles_0_xiao_shuai.xlsx',
'crazyant_blog_articles_1_xiao_wang.xlsx',
'crazyant_blog_articles_2_xiao_ming.xlsx',
'crazyant_blog_articles_3_xiao_lei.xlsx',
'crazyant_blog_articles_4_xiao_bo.xlsx',
'crazyant_blog_articles_5_xiao_hong.xlsx']

2. 分别读取到dataframe

df_list = []

for excel_name in excel_names:    # 读取每个excel到df    excel_path = f"{splits_dir}/{excel_name}"    df_split = pd.read_excel(excel_path)    # 得到username    username = excel_name.replace("crazyant_blog_articles_", "").replace(".xlsx", "")[2:]    print(excel_name, username)    # 给每个df添加1列,即用户名字    df_split["username"] = username        df_list.append(df_split)

crazyant_blog_articles_0_xiao_shuai.xlsx xiao_shuai
crazyant_blog_articles_1_xiao_wang.xlsx xiao_wang
crazyant_blog_articles_2_xiao_ming.xlsx xiao_ming
crazyant_blog_articles_3_xiao_lei.xlsx xiao_lei
crazyant_blog_articles_4_xiao_bo.xlsx xiao_bo
crazyant_blog_articles_5_xiao_hong.xlsx xiao_hong

3. 使用pd.concat进行合并

df_merged = pd.concat(df_list)df_merged.shape

(258, 4)

df_merged.head()

id title tags username
0 2585 Tensorflow怎样接收变长列表特征 python,tensorflow,特征工程 xiao_shuai
1 2583 Pandas实现数据的合并concat pandas,python,数据分析 xiao_shuai
2 2574 Pandas的Index索引有什么用途? pandas,python,数据分析 xiao_shuai
3 2564 机器学习常用数据集大全 python,机器学习 xiao_shuai
4 2561 一个数据科学家的修炼路径 数据分析 xiao_shuai

df_merged["username"].value_counts()

xiao_hong 43
xiao_bo 43
xiao_shuai 43
xiao_lei 43
xiao_wang 43
xiao_ming 43
Name: username, dtype: int64

4. 将合并后的dataframe输出到excel

df_merged.to_excel(f"{work_dir}/crazyant_blog_articles_merged.xlsx", index=False)

关于"Pandas如何批量拆分Excel与合并Excel"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

数据 多个 数据分析 分析 机器 特征 索引 学习 文件 知识 大全 工程 常用 文件夹 方法 来源 标记 用途 科学 科学家 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 互联网科技公司经营范围 互联网中国科技 麻工互联网科技 互联网公司 科技公司 互联网科技革命 华中科技大学互联网 广州善班互联网科技 深圳艾佳互联网科技 博兴的互联网电子科技公司 互联网金融科技公司干啥的 云南省自由互联网科技有限公司 杭州披云加互联网科技有限公司 互联网科技数字货币 从那以后互联网科技有限公司 昆明中奇联合互联网科技 江苏互联网智能科技产品出厂价 广州智享互联网科技 河南商务圈互联网科技有限公司 青岛互联网科技园 互联网属科技 重庆互联网络科技 老年人脱离互联网科技的作文 银川新华互联网科技职业技术培训学校图片 茂名市互联网科技产业园 银行科技岗属于互联网吗 上海创道互联网络科技有限公司 上海互联网科技公司ppt 互联网科技接地气 兰石爱特工业互联网科技分公司
0