最近除了网站接口测试的任务,还有一个数据分析任务,没错工作跨度就是这么大,在这一次数据分析中,数据源是一个字段较多,行数较多的数据,需要对这些数据进行多类别的分类之后,再进行数据分析,再以往的工作的中,如果是简单的分类,笔者会将这些新分类出来的DataFrame存放到一个的新的Excel中用于分析,但是这次,需要分析的太多,并且有需求将所有分类出来的DataFrame放到一个Excel中,这和笔者平时工作习惯有点不符合,所以学习了如何用Pandas将分类好的DataFrame放到一个Excel中。
首先,要了解一个Excel工作簿中,可以创建多个工作表,每一个工作表可以存放一个DataFrame,由于需要分类的项目比较多,因此编写一个方法会加快我们的工作速度,在Pandas中pd.ExcelWriter这个方法可以对已经创建的Excel文件进行编写和修改,如何将DataFrame放入到新的Excel表格中,使用的代码如下:
#将下方的中文替换为自己的代码和工作表名称
with pd.ExcelWriter("已存在的Excel文件的名字.xlsx",engine='openpyxl',mode='a') as writer:
new_df1.to_excel(writer,sheet_name="新创建Sheet(工作表)的名称",index=False)
其中,engine参数是选择使用的修改Excel的引擎,其他常用的引擎还包括 xlsxwriter
和 xlwt,都是可以对Excel进行修改和编写。如果出现了报错:如找到不到openpyxl或者是xlwt这类的报错,意味着你的工作环境中没有这两个驱动,使用Win+R输入CMD打开CMD输入下面格式的代码来下载对应驱动:
pip install xxxxx(驱动名称)
而mode参数是打开Excel的方式,其中a代表了追加的模式,即不会覆盖原始的数据,除此之外,还有‘r’表示可读性的打开Excel文件和‘w’覆盖式的文件编写,如果遇到了Excel无法被写入新的数据,或者写入新的数据之后原本的数据不见了,可以查看一下是否是mode这个参数设置错误了。
sheet_name这个参数是新创建的Excel工作表的名称,注意,不能同名,不然会报错。
以上就是如何将多个DataFrame写入到一个Excel工作簿的思路和过程,有需求和兴趣的小伙伴可以自己试一下。如果有任何建议和意见,欢迎再评论区中指出!谢谢各位!