python绘制表格并保存为图片,python 生成图表
本文主要介绍Python数据显示的表格图片生成。文章基于Python库的相关资料,详细介绍了该主题,有一定参考价值的朋友可以参考一下。
目录
pytabplotly前言:
本文讲的是如何用Python生成表格图片。
选一个合适库
Python最大的优势就是第三方库丰富。基本上你想要什么功能都能找到别人实现的库,几行代码就能调用。
Pytable
日本人开发的pytab库是第一个被发现的。是基于matplotlib来画图的。默认参数下生成的表格外观一般,无法显示汉字。字体也很小,效果不理想。
一开始,我还处于一种心态。我把这个库的源代码下载到magic change,改了字体和大小,生成的表格终于可以读取了。但是排版的时候还是会出现各种奇怪的问题,比如文字溢出单元格,让我很累.
Plotly:地址
我在后面发现了一个新的图书馆:plotly,
官网的介绍是:
一个专门为机器学习和数据科学设计的前端展示工具,单纯为了画表就大材小用了~用一个网页渲染,看例子效果还行。我用这个plotly试试。嗯,真的没事,就这样吧。
本文将分别介绍这两个库的使用,包括我在magic change中介绍pytab的地方。
(不过还是推荐plotly。网页渲染不错。)
pytab
首先安装
pip安装pytab
然后,我将绘制表格的代码封装到一个函数中。
导入uuid
从输入导入列表,字典,可选,元组
导入pytab
def draw _ table(data : Dict[str,list]):
画一张桌子
:参数数据:数据格式{
a: [1.0,2.1,3.5,4.0,2.0,1.0,2.1,3.5,4.0,2.0,],
b: [5.7,6.1,7.2,8.3,1.2,5.7,6.1,7.2,8.3,1.2,],
}
:返回:
#设置字体,否则无法显示中文。
pytab . PLT . RC params[ font . sans-serif ]=[ sim hei ]
pytab.table(
数据=数据,
data_loc=中心,
# th_type=黑暗,
Th_c=#aaaaee ,#设置页眉的背景颜色。
Td_c=gray ,#设置数据行的背景色。
table_type=striped ,
figsize=(len(data.keys()),int(len(data . values())/len(data . keys())1)),
# fontsize=18,
)
# pytab.show()
temp _ file=OS . path . join(tempfile . gettempdir(),f“{ uuid . uuid 4()。十六进制}。jpg’)
打印(临时文件)
pytab.save(临时文件)
返回临时文件
根据注释的数据格式,A和B是表头列名,后面的数组是各列的数据,很好理解。
{
a: [1.0,2.1,3.5,4.0,2.0,1.0,2.1,3.5,4.0,2.0,],
b: [5.7,6.1,7.2,8.3,1.2,5.7,6.1,7.2,8.3,1.2,],
}
绘图表是这样的。
如果我们再次尝试中文显示会发生什么?
{
第1列 3360 [1.0,2.1,3.5,4.0,2.0,1.0,2.1,3.5,4.0,2.0],
第二栏3360 [5.7,6.1,7.2,8.3,1.2,5.7,6.1,7.2,8.3,1.2],
}
像这样画。
有点丑。我几乎看不见它。
好了~关于pytab就不多折腾了,毕竟上限到了。
让我们来看看plotly。
plotly
首先安装
pip安装计划
话不多说,照例我又在写一个函数。
导入uuid
从输入导入列表,字典,可选,元组
导入plotly.graph_objects as go
将plotly.io作为pio导入
def draw _ table(headers : List[str],cells: List[list]):
绘画桌
: param headers : header=dict(values=[ A分数, B分数])
:param cells: cells=dict(值=[[100,90,80,90],[95,85,75,95]])
:返回:
Pio . kaleido . scope . default _ width=len(,)。join(标题))* 20
Pio . kaleido . scope . default _ height=250 len(cells[0])* 20
fig=go。图(data=[go。table(header=dict(values=headers),cells=dict(values=cells))])
#图显示()
image _ file=OS . path . join(tempfile . gettempdir(),f“{ uuid . uuid 4()。十六进制}。jpg’)
打印(“将图像写入”,图像文件)
图.写入图像(图像文件)
返回图像文件
这次的参数格式和前面的pytab不一样,要传递两个参数,都是数组类型。
第一个是标题,第二个数组是单元格。
我们先来试一个例子。
draw _ table([ A列, B列],[[100,90,80,90],[95,85,75,95]])
然后去掉上面函数代码中的fig.show()注释,就可以看到生成的表格图片效果了。
运行后可以发现浏览器是自动打开的,因为这个库是用网页来呈现表格的。
效果如下:
效果比之前的pytab要好。
这就是这篇关于Python数据显示生成表格图片的文章。关于Python生成表格图片的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。