这篇文章主要介绍“Python如何实现Excel表格处理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何实现Excel表格处理”文章能帮助大家解决问题。

一、文件

一个测试有两个sheet页的Excel测试文件 test.xlsx

二、代码

importpandasaspdfile1=pd.ExcelFile('D:\data\py\test.xlsx')file2=pd.read_excel('D:\data\py\test.xlsx')print(file)

<pandas.io.excel._base.ExcelFileobjectat0x0000021DE525DF88>-----------------分割线---------------------姓名年龄性别住址0张三7男NaN1李四6男NaN2王芳6女NaN三、分析

pd.read_excel读出来是一个dataframe可以直接打印出内容,但是只能读取一个sheet页,默认第一个sheet页

@Appender(_read_excel_doc)@deprecate_kwarg("skip_footer","skipfooter")defread_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):forargin("sheet","sheetname","parse_cols"):ifarginkwds:raiseTypeError("read_excel()gotanunexpectedkeywordargument""`{}`".format(arg))ifnotisinstance(io,ExcelFile):io=ExcelFile(io,engine=engine)elifengineandengine!=io.engine:raiseValueError("Engineshouldnotbespecifiedwhenpassing""anExcelFile-ExcelFilealreadyhastheengineset")returnio.parse(sheet_name=sheet_name,header=header,names=names,index_col=index_col,usecols=usecols,squeeze=squeeze,dtype=dtype,converters=converters,true_values=true_values,false_values=false_values,skiprows=skiprows,nrows=nrows,na_values=na_values,keep_default_na=keep_default_na,verbose=verbose,parse_dates=parse_dates,date_parser=date_parser,thousands=thousands,comment=comment,skipfooter=skipfooter,convert_float=convert_float,mangle_dupe_cols=mangle_dupe_cols,**kwds)

pd.ExcelFile 返回值是一个Excel对象,不能直接用,但是可以读取整个Excel内容

四、pd.ExcelFile

file=pd.ExcelFile('D:\data\py\test.xlsx')

sheet页名称

print(file.sheet_names)

['一年级','二年级']

遍历读取每个sheet页的内容

fornameinfile.sheet_names:_df=pd.read_excel(file,name)print(_df)

姓名年龄性别住址0张三7男NaN1李四6男NaN2王芳6女NaN姓名年龄性别0李明8男1刘敏8女2张强7男

将两个sheet页的内容合并,并添加一列内容为sheet页名称

df_list=[]fornameinfile.sheet_names:_df=pd.read_excel(file,name)_df['班级']=namedf_list.append(_df)df=pd.concat([_dffor_dfindf_list],sort=False)print(df)

姓名年龄性别住址班级0张三7男NaN一年级1李四6男NaN一年级2王芳6女NaN一年级0李明8男NaN二年级1刘敏8女NaN二年级2张强7男NaN二年级

忽略掉原来的index

df=pd.concat([_dffor_dfindf_list],ignore_index=True,sort=False)print(df)

姓名年龄性别住址班级0张三7男NaN一年级1李四6男NaN一年级2王芳6女NaN一年级3李明8男NaN二年级4刘敏8女NaN二年级5张强7男NaN二年级

修改列名为英文

df=df.rename(columns={'姓名':'name','年龄':'age','性别':'sex','住址':'address','班级':'class'})print(df)

nameagesexaddressclass0张三7男NaN一年级1李四6男NaN一年级2王芳6女NaN一年级3李明8男NaN二年级4刘敏8女NaN二年级5张强7男NaN二年级

将df保存为CSV、Excel文件

df.to_csv('../data/sheet合并.csv',index=False)df.to_excel('../data/sheet合并.xls',index=True)五、总结

可以发现Python读写Excel文件还是很方便的!

df.to_csv('../data/sheet合并.csv',index=False)df.to_excel('../data/sheet合并.xls',index=True)

关于“Python如何实现Excel表格处理”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。