Python如何实现Excel表格处理
这篇文章主要介绍“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.ExcelFilefile=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表格处理”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。