zoukankan      html  css  js  c++  java
  • (数据科学学习手札52)pandas中的ExcelWriter和ExcelFile

    一、简介

      pandas中的ExcelFile()和ExcelWriter(),是pandas中对excel表格文件进行读写相关操作非常方便快捷的类,尤其是在对含有多个sheet的excel文件进行操控时非常方便,本文就将针对这两个类的使用方法展开介绍;

    二、ExcelFile()

      在使用ExcelFile()时需要传入目标excel文件所在路径及文件名称,下面是示例:

    import pandas as pd
    
    demo_excel = pd.ExcelFile(r'D:demo.xlsx')

      查看demo_excel的类型:

    type(demo_excel)

      接下来可以使用ExcelFile()中的方法来获取目标表格文件的相关信息:

      1、sheet_names

      使用sheet_names来查看当前表格中包含的所有sheet名称(按顺序):

    print(demo_excel.sheet_names)

      2、parse()

      使用parse()可以根据传入的sheet名称来提取对应的表格信息,下面是一个简单的示例:

    table1 = demo_excel.parse(sheet_name=demo_excel.sheet_names[0])
    
    table2 = demo_excel.parse(sheet_name=demo_excel.sheet_names[1])
    
    table3 = demo_excel.parse(sheet_name=demo_excel.sheet_names[2])
    
    print(table1)
    print(table2)
    print(table3)

      

    三、ExcelWriter()

      使用ExcelWriter()可以向同一个excel的不同sheet中写入对应的表格数据,首先需要创建一个writer对象,传入的主要参数为已存在容器表格的路径及文件名称:

    writer = pd.ExcelWriter(r'D:demo.xlsx')
    print(type(writer))

      基于已创建的writer对象,可以利用to_excel()方法将不同的数据框及其对应的sheet名称写入该writer对象中,并在全部表格写入完成之后,使用save()方法来执行writer中内容向对应实体excel文件写入数据的过程:

    '''创建数据框1'''
    df1 = pd.DataFrame({'V1':np.random.rand(100),
                        'V2 ':np.random.rand(100),
                        'V3':np.random.rand(100)})
    df1.to_excel(writer,sheet_name='sheet1',index=False)
    
    '''创建数据框2'''
    df2 = pd.DataFrame({'V1':np.random.rand(100),
                        'V2 ':np.random.rand(100),
                        'V3':np.random.rand(100)})
    df2.to_excel(writer,sheet_name='sheet2',index=False)
    
    '''创建数据框3'''
    df3 = pd.DataFrame({'V1':np.random.rand(100),
                        'V2 ':np.random.rand(100),
                        'V3':np.random.rand(100)})
    df3.to_excel(writer,sheet_name='sheet3',index=False)
    
    '''数据写出到excel文件中'''
    writer.save()

      这时之前指定的外部excel文件中便成功存入相应的内容:

     

     

      以上就是本文的全部内容,如有笔误望指出。

  • 相关阅读:
    mysql 中文字段排序( UTF8按拼音首字母排序)
    输入输出挂
    HDU 6301 贪心
    HDU1533 最小费用最大流
    POJ 2135 最小费用最大流 入门题
    HDU 6278 主席树(区间第k大)+二分
    HDU3549 最大流 裸题
    2018牛客网暑期ACM多校训练营(第一场)D图同构,J
    POJ 1804 逆序对数量 / 归并排序
    Codeforces Round #489 (Div. 2) B、C
  • 原文地址:https://www.cnblogs.com/feffery/p/9998451.html
Copyright © 2011-2022 走看看