python处理多个excel数据_python 数据分析基础 day8-pandas读写多个excel文件

今天是读《python数据分析基础》的第8天,今天的读书笔记的内容为利用pandas读写多个excel文件,当中涉及到读写excel文件的多个工作表。

大致原理如下:

glob.glob()以及os.path.join()函数负责获取输入要读取的excel文件的具体路径。

pandas的read_excel函数负责读取函数,通过当中的sheet_name参数控制读取excel工作表。当读取一个工作表时,返回一个DataFrame;若读取多个或全部excel工作表,则返回一个字典,键、值分别为工作表文件名和存放工作表数据的数据框。

pandas.DataFrame.to_csv()函数负责输出数据至excel文件。当中的excel_writer参数控制输出路径及excel文件名,sheet_name控制输出的excel工作表。请注意,若指定的excel文件不存在,则新建一个;若存在,则将数据以新工作表的形式写入已存在的excel文件当中。

接下来实例及相应的代码说明通过pandas读写exel文件。

案例:读取多个excel文件当中的所有工作表,将数据输出至一个新excel文件,当中的每个工作表为之前读取的单个excel文件的所有数据,工作表名为读取的excel文件名,不包括后缀。

代码:

"""

通过pandas读写多个excel文件

"""

import glob

import os

import pandas as pd

inputPath="需要读入的excel文件路径"

outputWorkbook="excel输出文件"

inputWorkbook=glob.glob(os.path.join(inputPath,"*.xlsx"))

writer=pd.ExcelWriter(outputWorkbook)

for workbook in inputWorkbook:

allData=[]

combineData=pd.DataFrame

#读取excel文件

allSheetData=pd.read_excel(workbook,sheet_name=None)

for name,data in allSheetData.items():

allData.append(data)

combineData=pd.concat(allData,axis=0,ignore_index=True)

#输出excel文件

combineData.to_excel(writer,sheet_name=os.path.basename(workbook)[:-5],index=False)

writer.save()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值