ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 667|回复: 13

如何运用pandas语句实现多个工作簿里面多个sheet同时合并

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-5-30 10:21 | 显示全部楼层 |阅读模式


import pandas as pd
import os
path=r'E:\工作资料\2024\成绩计算\4\0前期收集数据\考核明细\街乡镇4月考核明细\4月考核期街乡直派考核明细\1'

listdir=os.listdir(path)
df=pd.read_excel(path+'\\'+ listdir[0])#导入第一个数据表

for filename in listdir[1:]:
    dfi = pd.read_excel(path + '\\' + filename)  # 导入除第一个数据表外其他数据表
    df = pd.concat([df, dfi], sort=False)  # 数据纵向合并

df.to_excel(r'E:\工作资料\2024\成绩计算\4\0前期收集数据\考核明细\街乡镇4月考核明细\4月考核期街乡直派考核明细\街道数据合并.xlsx', index=False)
使用上述语句,可以实现仅有一个sheet的多个工作簿合并,如何实现有多个sheet的工作簿同时合并呢?

TA的精华主题

TA的得分主题

发表于 2024-5-30 16:30 | 显示全部楼层
  1. '''
  2. read_excel有个参数sheet_name,不指定表名的话,默认sheet_name=0,就是读取第一个sheet。
  3. '''

  4. import pandas as pd

  5. # 先用OS读取文件夹中所有xlsx文件的路径存入excel_paths
  6. excel_paths = [r'C:\Users\Desktop\xxx1.xlsx', r'C:\Users\Desktop\xxx2.xlsx']

  7. # 创建一个空的DataFrame
  8. df = pd.DataFrame()

  9. # 循环读取每个xlsx文件,再循环读取每个文件中的sheet_name,最后合并
  10. for excel_path in excel_paths:
  11.         f = pd.ExcelFile(excel_path)
  12.         for sheet_name in f.sheet_names:
  13.                 d = pd.read_excel(excel_path, header=None, sheet_name=sheet_name)
  14.                 df = pd.concat([df, d])
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-30 17:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

excel_paths = [r'C:\Users\Desktop\xxx1.xlsx', r'C:\Users\Desktop\xxx2.xlsx']
这个怎么指直接查询一个文件夹里面的表呢

TA的精华主题

TA的得分主题

发表于 2024-5-30 19:44 | 显示全部楼层
...                                             
屏幕截图_30-5-2024_194037_.jpeg

test.zip

29.11 KB, 下载次数: 12

TA的精华主题

TA的得分主题

发表于 2024-6-1 06:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

请教下, f = pd.ExcelFile(excel_path),这句是获取Excel工作簿的工作表吗?

TA的精华主题

TA的得分主题

发表于 2024-6-1 06:36 | 显示全部楼层

你好,请问下,jupyter和PyCharm作为开发工具,哪个好?感觉jupyter使用起来,没有成员提示对新手不太友好,但是输入df后可以直接显示df,而不需要print(df),这个感觉比PyCharm要方便。

TA的精华主题

TA的得分主题

发表于 2024-6-1 13:02 | 显示全部楼层
LIUZHU 发表于 2024-6-1 06:36
你好,请问下,jupyter和PyCharm作为开发工具,哪个好?感觉jupyter使用起来,没有成员提示对新手不太友 ...

两个都好,看习惯吧。jupyter轻便,jupyterlab有代码补全,jupyternotebook映像中安个什么插件也有补全。pycharm是重型武器适合干大活,pycharm安装个jupyter插件一样用,有代码提示。
image.jpg
image.png

TA的精华主题

TA的得分主题

发表于 2024-6-1 13:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
pd.concat(pd.read_excel(file,sheet_name=None...) 可以合并一个文件里的所有sheet。sheet_name=None
表示所有sheet.

TA的精华主题

TA的得分主题

发表于 2024-6-1 15:15 | 显示全部楼层
sheeboard 发表于 2024-6-1 13:08
pd.concat(pd.read_excel(file,sheet_name=None...) 可以合并一个文件里的所有sheet。sheet_name=None
表 ...

学到了                                       

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-5 20:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 胡国琛 于 2024-6-5 21:53 编辑

谢谢大哥,确实挺好用的,现在就是合并的过程中,有些excel文档是使用过筛选的,所以合并出来又显示不全,有别的方法吗
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 16:40 , Processed in 0.041948 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表