python 数据分析基础 day8-pandas读写多个exc

作者: billyang916 | 来源:发表于2018-03-21 01:24 被阅读40次

    今天是读《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()
    

    相关文章

      网友评论

        本文标题:python 数据分析基础 day8-pandas读写多个exc

        本文链接:https://www.haomeiwen.com/subject/ohmiqftx.html