看着冰糖

【Python】Excel基本操作 -- 小结(pandas)

1. 背景

最近Python自动化办公似乎挺“时髦”,刷抖音短视频时也经常见到类似的广告--你必须悄悄学会Python,然后惊艳所有人😂。前不久工作中也遇到一个Excel表单格式转换的问题,这才过来了解下;希望后面能以此为基础,编成一个小工具来用。

2. 整体感知

  • Excel操作的基本单元是workbook中的sheet,从磁盘文件读取到内存中对应一个数据帧(DataFrame)。
    确切说,一个DataFrame真正对应的是一个逻辑层面上的sheet。我们可以通过在读取时传入不同的参数,从一个物理sheet中得到一个筛选或简单整理过后的sheet,然后作为一个DataFrame对象存放在内存中。
  • 我们读取或者创建得到了一个DataFrame之后,最主要的就是对DataFrame中数据的操作,以把它改变成我们所期望。
  • 最后就是将DataFrame转换为sheet,写回磁盘中。

因此,使用Pandas操作Excel,read_excel、ExcelWriter,尤其是DataFrame的API应该作为学习的重点.

3. 本节介绍pandas中对Excel的基本操作

对于Excel文件的操作很简单,只有3个。

read_excel(*args, **kwargs) Read an Excel file into a pandas DataFrame.
ExcelFile.parse([sheet_name, header, names, …]) Parse specified sheet(s) into a DataFrame.
ExcelWriter(path[, engine]) Class for writing DataFrame objects into excel sheets.

e.g.
1) 通过pandas.read_excel指示从哪里读取哪些数据。
import pandas as pd
df = pd.read_excel(io=r'fortest1.xlsx',sheet_name=None, usecols= ['姓名','班级','生日'], nrows=2, skiprows=[1])
        io -- 指定文件对象或文件路径(本地路径,网络路径都可);
sheet_name -- 指示读取那个或哪几个sheet,None表示不指定和限制,读取所有sheet;参数很灵活,具体见第四节参考[1];
   usecols -- 读取那些列,指定列名或者列号;
     nrows -- 从上往下读取多少行;
  skiprows -- 需要跳过哪些行;

2) pandas.ExcelWriter配合DataFrame.to_excel将数据写入表单。
with pd.ExcelWriter('path_to_file.xlsx') as writer:
    df['Sheet1'].to_excel(writer)  # 需要依赖其他Excel模块,xlwt for xls, openpyxl for xlsx, odf for ods

3. 本节介绍DataFrame的常用操作

操作Excel核心就是对其中数据的处理,而DataFrame提供了对Excel中数据的操作。

4. 参考

[1] Pandas中Excel相关的API
[2] Pandas中DataFrame相关API

posted on 2020-10-08 17:54  看着冰糖  阅读(284)  评论(0编辑  收藏  举报

导航