【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中数据的操作。