直接保存“DataFrame表格”到本地,这个“骚操作”90%以上的人不知道!

简介: 直接保存“DataFrame表格”到本地,这个“骚操作”90%以上的人不知道!

引入问题

其实,这个知识点也是在群里面遇到了,如果当时问我,我也会很蒙逼。因此,我做了一个简单的学习,并将其整理后,供大家学习和参考。

image.png

比如说:我们得到了一个df_new表格,我们想要将其保存在本地,应该怎么办呢?保存图片,你可能用的多。但是保存这个表格,你估计就不一定知道了。

image.png

为什么需要将df_new保存在本地呢?其实提问者是为了将表格保存在本地,后面需要完成自动化群发消息的操作,这样一来,你不仅仅可以发图片,现在还可以发表格了,是不是很舒服?


那么,这样一个操作,应该怎么完成呢?下面我为大家慢慢讲述。


方法介绍

完成这个需求使用的是dataframe_image库,因此在使用他之前,需要我们先安装这个库。


pip install dataframe_image


然后在使用之前,还需要导入这个库。


import dataframe_image as dfi


接着,调用dfi中的export()方法,就可以实现这个需求。但是关于这个知识点,你在百度上面其实看不到任何解答,那么你应该怎么学习呢?我们以jupyter notebook为例,进行说明。


直接在单元格中输入??dfi.export,然后运行,即可出现详细帮助文档。

image.png

详细参数如下:


dfi.export(obj, filename, fontsize=14, max_rows=None, max_cols=None, table_conversion='chrome', chrome_path=None)


obj:表示的是待保存的DataFrame数据框;

filename:表示的是图片保存的本地路径;

fontsize:表示的是待保存图片中字体大小,默认是14;

max_rows:表示的是DataFrame输出的最大行数。

这个数字被传递给DataFrame的to_html方法。为防止意外创建具有大量行的图像,具有100行以上的DataFrame将引发错误。显式设置此参数以覆盖此错误,对所有行使用-1。

max_cols:表示的是DataFrame输出的最大列数。

这个数字被传递给DataFrame的to_html方法。为防止意外创建具有大量列的图像,包含30列以上的DataFrame将引发错误。显式设置此参数以覆盖此错误,对所有列使用-1。

table_conversion:‘chrome’或’matplotlib’,默认为’chrome’。DataFrames将通过Chrome或matplotlib转换为png。

除非无法正常使用,否则请使用chrome。 matplotlib提供了一个不错的选择。

可以看到:这个方法其实就是通过chrome浏览器,将这个DataFrames转换为png或jpg格式。


举例说明

我们先随意构造或读取一个DataFrame。


import pandas as pd
df = pd.read_excel("chaifen.xlsx")
df_new = df.iloc[:5,:]
df_new


结果如下:

image.png

通过上面的学习,保存这个DataFrame,只需要两行代码。


import dataframe_image as dfi
dfi.export(obj=df_new,filename='df_new.jpg')


打开本地目录,查看这张图片。

image.png


可以看到,上述图片中的字体超级小,然后我们还可以使用fontsize参数,设置字体大小。


import dataframe_image as dfi
dfi.export(obj=df_new,filename='df_new_1.jpg',fontsize=30)


再次打开本地目录,查看这张图片。


image.png

该知识点就说到这里,关于其他的参数,大家可以自行下去尝试。


相关文章
EXCEL导入程序中(针对excel单元格合并等导致的一行多条数据重复解决办法)
EXCEL导入程序中(针对excel单元格合并等导致的一行多条数据重复解决办法)
149 0
|
1月前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
131 5
Excel如何使用VBA操作引用其它工作簿中的单元格
Excel引用其它工作簿中的单元格的值及使用VBA操作
|
7月前
【word】论文、报告:①插入图表题注,交叉引用②快速插入图表目录③删改后一键更新
【word】论文、报告:①插入图表题注,交叉引用②快速插入图表目录③删改后一键更新
791 0
|
7月前
|
Serverless 定位技术 数据格式
Python遍历大量表格文件并筛选出表格内数据缺失率低的文件
Python遍历大量表格文件并筛选出表格内数据缺失率低的文件
POI的入门学习(二)遍历工作簿的行和列输出单元格内容
POI的入门学习(二)遍历工作簿的行和列输出单元格内容
POI的入门学习(二)遍历工作簿的行和列输出单元格内容
C#编程学习21:修改excel的数据项
C#编程学习21:修改excel的数据项
C#编程学习21:修改excel的数据项
|
分布式计算 大数据 索引
一文速学-Pandas数据分组操作方法详解+代码展示
一文速学-Pandas数据分组操作方法详解+代码展示
911 0
一文速学-Pandas数据分组操作方法详解+代码展示
|
数据挖掘 索引 Python
一文速学-Pandas索引设置操作各类方法详解+代码展示
一文速学-Pandas索引设置操作各类方法详解+代码展示
285 0
一文速学-Pandas索引设置操作各类方法详解+代码展示
Pandas 判断两列内容是否相同并将结果新建一列
Pandas 判断两列内容是否相同并将结果新建一列