excel学习库

excel表格_excel函数公式大全_execl从入门到精通

高效办公Python批量合并Excel工作簿

01 应用场景

大家都知道Python在数据分析、处理方面的优势,今天就分享一个Python批量处理Excel的小案例,比如你有一堆内容类似的表格需要合并到一起,那就可以试试下边这个经典的方法。

02 使用工具

应用库:pandas、openpyxl 、os

简单介绍一下这几个库在案例中的作用 :

pandas:如果你学习Python是为了数据处理或者数据分析,那一定离不开pandas这个库,简单介绍一下Pandas这个库,pandas 是 Python 语言的一个扩展程序库,用于数据分析,提供高性能、易于使用的数据结构和数据分析工具。pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。

openpyxl,用于处理xlsx形式的Excel;os,这里用于分析路径

03 案例演示

我在我的文件下放了3个表

每个表的结构都是下图形式,第一列必须是文本型数字

直接附代码如下

合并效果如图

代码解析

#导入需要使用的3个库

import pandas as pd

import os

import openpyxl

#第一行代码,获取数据所在的文件夹

path=r"C:\Users\LENOVO\Desktop\素材\示例"

#第二行代码,获取文件下所有的表名

file_list=os.listdir(path)

#第三行代码,建立一个空列表

new=[]

第四行代码:for循环遍历每一个路径,并用pandas中read_excel方法读取内容

for p in file_list:

use_path=os.path.join(path,p)

#第六行代码这里要声明engine,这里tips详讲,因为业务员工号是文本型数字,所以dtype声明一下

r=pd.read_excel(use_path,engine="openpyxl",dtype={"业务员工号":str})

new.append(r)

df = pd.concat(new)

#第七八行代码,表示将每次遍历到的内容添加到空列表new中,最后将new中内容合并

#第九行代码,将合并后的结果写入Excel中

df.to_excel("合并.xlsx",index=False)

以上9步九轻松实现批量合并Excel的功能

04 补充tip

这是我平时工作中比较常用的功能,但是今天写笔记和代码运行的时候,发现报错

“EXTERNSHEET(b7-) ”,查了一下原因,看到有人说需要升级一下xlrd

--upgrade xlrd

尝试升级之后发现依然报错,现在报的错是Excel xlsx file; not supported

找到一个比较靠谱的说法,如下图,xls使用xlrd,read_excel 时不需要单独声明engine,但是xlsx就需要使用openpyxl,所以上图中代码加了engine这个参数

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接