您当前的位置:首页 > 计算机 > 编程开发 > Python

Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets(拆分工作表)

时间:01-04来源:作者:点击数:

问题描述:

已知文件“超市营业额2.xlsx”中结构与部分数据如图所示:

现在要求把每个员工的交易数据写入文件“各员工数据.xlsx”,每个员工的数据占一个worksheet,结构和“超市营业额2.xlsx”一样,并以员工姓名作为worksheet的标题,预期的结果文件如图所示:

很显然,要解决这个问题需要这样几步:1)读取原始数据文件创建DataFrame,2)分离DataFrame,把不同员工的数据分离开,3)把不同员工的数据写入同一个Excel文件的不同Worksheet。

第1步比较简单,使用pandas的read_excel()函数读取Excel文件即可。

对于第2步,需要首先获取所有员工的唯一姓名,然后使用DataFrame结构的布尔运算也很容易分离。

对于第3步,需要使用DataFrame结构的to_excel()方法来实现,把第2步中分离得到的每位员工的数据写入同一个Excel文件的不同Worksheet中,该方法语法为:

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)

该方法第一个参数可以是Excel文件路径或ExcelWriter对象,第二个参数sheet_name用来指定要写入的Worksheet名字。

第3步的要点是,to_excel()方法的第一个参数不能使用Excel文件路径,因为每次写入时会覆盖原来Excel文件中的内容。如果代码写成下面的样子:

代码可以运行,但是结果Excel文件中只有最后一次写入的数据,如图:

对于本文描述的需要,需要为to_excel()方法第一个参数指定为ExcelWriter对象,正确代码如下:

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门