Python 读写 Excel 可以使用 Pandas,处理很方便。但如果要处理 Excel 的格式,还是需要 openpyxl 模块,旧的 xlrd 和 xlwt 模块可能支持不够丰富。Pandas 读写 Excel 主要用到两个函数,下面分析一下 pandas.read_excel() 和 DataFrame.to_excel() 的参数,以便日后使用。
pandas.read_excel(io,sheet_name=0,header=0,names=None,index_col=None,usecols=None,squeeze=False,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skiprows=None,nrows=None,na_values=None,keep_default_na=True,verbose=False,parse_dates=False,date_parser=None,thousands=None,comment=None,skip_footer=0,skipfooter=0,convert_float=True,mangle_dupe_cols=True,**kwds)
常用参数:
sheetname
:表名,单表、多表、全部表
sheetname = None # 读取全部表,得到 OrderDict:key为表名,value为 DataFrame
sheetname = 1 / “Sheet1” # 读取单个表,返回 DataFrame
sheetname = [0, 1] / [“Sheet1”, “Sheet2”] # 读取多表,返回一个OrderDict
# 读取多个表
import pandas as pd
order_dict = pd.read_excel(r'C:\Users\sss\Desktop\test.xlsx',header=0, usecols=[2, 3] names=["Name", "Number"], sheet_name=["Sheet1", "Sheet2"], skiprows=range(1, 10), skipfooter=4)
for sheet_name, df in order_dict.items():
print(sheet_name)
print(df)
DataFrame.to_excel(excel_writer,sheet_name="Sheet1",na_rep="",float_format=None,columns=None,header=True,index=True,index_label=None,startrow=0,startcol=0,engine=None,merge_cells=True,encoding=None,inf_rep="inf",verbose=True,freeze_panes=None)
常用参数:
io.excel.xlsx.writer、
io.excel.xls.writer
、io.excel.xlsm.writer
.
# 简单示例
df.to_excel(r'C:\Users\sss\Desktop\test.xlsx', columns=["Name", "Number"], encoding="utf8")