批量将不同的工作簿合并到同一个Excel表格

 现有三年级*班的Excel工作簿,欲将所有三年级学生的成绩合并到一张工作簿。

import glob

import pandas as pd

df_all = pd.DataFrame()

for i in glob.glob(r"三年*班.xlsx",recursive=True):
    df = pd.read_excel(i)
    df_all = df_all._append(df)

df_all.to_excel("三年级总成绩单.xlsx",index=False)

glob库:

globpython的标准库模块,主要用来查找目录文件,可以使用*、?、[]这三种通配符对路径中的文件进行匹配。常用的两个方法有:glob.glob() 和 glob.iglob

  • *:代表0个或多个字符
  • ?:代表一个字符
  • []:匹配指定范围内的字符,如[0-9]匹配数字
  • def glob(pathname, *, recursive=False):
    • pathname:要匹配的路径
    • recursive:true会递归匹配符合的文件路径,默认是False

实现步骤

一、定义一个空的数据框df_all

df_all = pd.DataFrame()

二、利用glob()方法筛选文件

for i in glob.glob(r"三年*班.xlsx",recursive=True):

三、添加到df_all()

注意:若出现AttributeError: 'DataFrame' object has no attribute 'append'的报错则说明.append()应该改为._append() 

    df_all = df_all._append(df)

四、存入总的工作簿

df_all.to_excel("三年级总成绩单.xlsx",index=False)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值