首页 > 编程语言 >Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets

Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets

时间:2023-06-10 16:02:03浏览次数:42  
标签:文件 None Python Excel excel Worksheets 写入


封面图片:《Python程序设计(第2版)》,董付国,清华大学出版社

===============

问题描述:

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

Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets_编程语言

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

Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets_go_02

很显然,要解决这个问题需要这样几步: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文件中的内容。如果代码写成下面的样子:

Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets_大数据_03

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

Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets_python_04

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

Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets_go_05

温馨提示

关注本公众号“Python小屋”,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的800篇技术文章列表(可根据关键字在页面上搜索感兴趣的文章),通过“最新资源”==>“微课专区”可以免费观看300节Python微课,通过“最新资源”==>“培训动态”可以查看近期Python培训安排,通过“最新资源”==>“教学资源”可以查看Python教学资源。

Python+pandas分离Excel数据到同一个Excel文件中多个Worksheets_go_06


标签:文件,None,Python,Excel,excel,Worksheets,写入
From: https://blog.51cto.com/u_9653244/6454750

相关文章

  • 1000道Python题库系列分享23(61个填空题)
    封面图片:《玩转Python轻松过二级》,董付国,清华大学出版社=================本期题目,参考答案在文末:公众号“Python小屋”参考答案:......
  • 常用Python标准库对象速查表(2):文件与文件夹操作
    封面图片:《Python程序设计基础与应用》,董付国,机械工业出版社图书详情:https://item.jd.com/12433472.html===========os模块常用成员方法功能说明access(path,mode)测试是否可以按照mode指定的权限访问文件chdir(path)把path设为当前工作目录chmod(path,mode,*,dir_fd=None,fol......
  • Python花式编程:6种方法计算1!+2!+...+n!
    问题描述:给定任意正整数n,计算1!+2!+3!+...+n!的值。 阅读原文......
  • Python自学指南-第一章-安装运行
    1.1【环境】快速安装Python与PyCharm“工欲善其事,必先利其器”,为了自学之路的顺利顺利进行。首先需要搭建项目的开发环境。1.下载解释器进入Python官网,目前Python最新Python稳定版为3.11,点击如下链接直接跳到最后,根据你电脑系统以及的位数Win64位:选择Windows......
  • Python+OpenGL使用Cohen-Sutherland算法实现直线裁剪
    问题描述:编写Python程序,使用OpenGL实现用于直线裁剪的Cohen-Sutherland算法。运行程序,绘制一个矩形表示裁剪窗口,然后通过鼠标单击和移动来绘制直线,鼠标抬起时对刚刚绘制的直线进行裁剪,显示最终落在裁剪窗口中的部分。关于Cohen-Sutherland算法请自行查阅资料。准备工作:安装和配置Py......
  • Python+Pandas读取Excel文件分析关系最好的两个演员
    问题描述:已知Excel文件“电影导演演员.xlsx”中内容如下所示,后台发送消息“20220119”下载文件:编写程序,读取Excel文件中的数据,分析共同参演电影数量最多的两个演员,也就是关系最好的两个演员,要求尽可能多地使用Pandas来完成任务。参考代码:运行结果:['演员3''演员4']公众号“Python小......
  • Python+matplotlib一笔绘制红色五角星
    案例描述:使用Python+matplotlib绘制图形,使用直线段绘制红色五角星。参考代码:绘制结果:公众号“Python小屋”......
  • Python+Matplotlib+MiKTex设置标签字符串中任意字符格式
    任务描述:在使用matplotlib可视化时,title()、xlabel()、ylabel()、xticks()、yticks()或类似的函数和方法中的字符串首尾加符号“$”,可以调用matplotlib内嵌的Latex引擎进行渲染,例如:Python+matplotlib调用LaTex引擎渲染公式Python+matplotlib绘图使用Latex引擎渲染坐标轴刻度文本上......
  • 爱因斯坦求和约定在Python扩展库Numpy中的实现
    教材目录第1章 Python开发环境搭建与编码规范    本章学习目标    1.1 Python开发环境搭建与使用        1.1.1 IDLE        1.1.2 Anaconda3        1.1.3 安装扩展库    1.2 Python编码规范    1.3 标准库、扩展库对象的......
  • Python日志模块logging高级用法
    问题描述:为了监视程序运行过程,也为了在程序崩溃后进行事后分析来定位错误的原因和位置,不少程序员会在程序中适当的位置使用print()函数输出一些信息。这种方式虽然方便,但是难以实现输出内容的分级。一般建议使用日志模块logging来完成这一任务。在Python中有5个级别的日志,优先级从......