Python批量读取&合并文件

需求1:汇总多个Excel文件,每个Excel只有一个sheet

import pandas as pd
import numpy as np
import os
import time
pd.set_option('display.max_columns',None)

# 定义一个空的DataFrame用于存储所有数据
result = pd.DataFrame()

path = 'D:\\DataAnalysis\\test1\\' # 要操作的文件夹名称
files = os.listdir(path)  # 得到文件夹下面的所有文件名称
# 通过循环实现便利,读取出所有文件名称
for i in files:
    try:
        df = pd.read_excel(path+i,header = 1) # 第一行有备注的文字,不需要读取
        result = df.append(result)
    except:
        print(i)

result.to_excel("D:\\DataAnalysis\\test1\\汇总结果1.xlsx",index = False)

需求2:如果需要汇总的Excel文件有多个sheet,那如何实现内容汇总?

查看Sheet列表,使用ExcelFile类读取Excel文件。然后,通过调用sheet_names属性来获取该文件中所有的Sheet名;接着再利用for循环读取每个sheet的文件

import pandas as pd
import numpy as np
import os
import time
pd.set_option('display.max_columns',None)

# 定义一个空的DataFrame用于存储所有数据
result = pd.DataFrame()
sheet_names = pd.DataFrame()

path = 'D:\\DataAnalysis\\test1\\' # 要操作的文件夹名称
files = os.listdir(path)  # 得到文件夹下面的所有文件名称
# 通过循环实现便利,读取出所有文件名称
for i in files:
    try:
#        查看Sheet列表,使用ExcelFile类读取Excel文件。然后,通过调用sheet_names属性来获取该文件中所有的Sheet名,
         xlsx = pd.ExcelFile(path+i)
         sheet_names= xlsx.sheet_names
#        读取每个Sheet中的数据
         for sheet in sheet_names:
            try:                
                df = pd.read_excel(xlsx,sheetname = sheet) # 从第一行开始读取     
                result = df.append(result)
            except:
                print(sheet)
            
    except:
        print(i)

result.to_excel("D:\\DataAnalysis\\test1\\汇总结果2.xlsx",index = False)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值