python表格导出为图片(python生成带有表格的图片实例)
类别:脚本大全 浏览量:2449
时间:2022-04-01 01:33:51 python表格导出为图片
python生成带有表格的图片实例因为工作中需要,需要生成一个带表格的图片
例如:
直接在html中写一个table标签,然后单独把表格部分保存成图片
或者是直接将excel中的内容保存成一个图片
刚开始的思路,是直接生成一个带有table标签的html文件,然后将这个文件转成图片,经过查找资料发现需要安装webkit.jpg" alt="python表格导出为图片(python生成带有表格的图片实例)" border="0" />
当初的目标是直接生成一个图片,并且是只需要安装python依赖库就行,而不需要在系统层面安装相应的依赖包
后来考虑使用python的图片处理库pillow,和生成表格式的库prattytable,下面的图片是最终生成的图片效果
总体来说是分为两个步骤:
使用prattytable将要展示的数据生成一个表格字符串
使用pillow,将生成的表格字符串写入到图片中
下面是具体实现:
|
from prettytable import prettytable from pil import image, imagedraw, imagefont tab = prettytable() # 设置表头 tab.field_names = [ "name" , "age" , "country" , "city" ] # 表格内容插入 tab.add_row([ 'chal' , '23' , '中国' , 'shanghai' ]) tab.add_row([ 'charle' , '29' , 'china' , 'xuzhou' ]) tab.add_row([ 'jack' , '32' , 'united states' , 'washington' ]) tab_info = str (tab) space = 5 # pil模块中,确定写入到图片中的文本字体 font = imagefont.truetype( '/home/doge/yaheiconsolas.ttf' , 15 , encoding = 'utf-8' ) # image模块创建一个图片对象 im = image.new( 'rgb' ,( 10 , 10 ),( 0 , 0 , 0 , 0 )) # imagedraw向图片中进行操作,写入文字或者插入线条都可以 draw = imagedraw.draw(im, "rgb" ) # 根据插入图片中的文字内容和字体信息,来确定图片的最终大小 img_size = draw.multiline_textsize(tab_info, font = font) # 图片初始化的大小为10-10,现在根据图片内容要重新设置图片的大小 im_new = im.resize((img_size[ 0 ] + space * 2 , img_size[ 1 ] + space * 2 )) del draw del im draw = imagedraw.draw(im_new, 'rgb' ) # 批量写入到图片中,这里的multiline_text会自动识别换行符 # python2 draw.multiline_text((space,space), unicode (tab_info, 'utf-8' ), fill = ( 255 , 255 , 255 ), font = font) # python3 # draw.multiline_text((space,space), tab_info, fill=(255,255,255), font=font) im_new.save( '12345.jpg" alt="python表格导出为图片(python生成带有表格的图片实例)" border="0" /> del draw |
至此就生成了上面的图片。但是还有一点问题,在使用中文时,表格会又一些错列,应该是使用字体的事,因为我没有找到合适的字体,所以这个问题暂时没有解决。
以上这篇python生成带有表格的图片实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/mx472756841/article/details/53363568
您可能感兴趣
- nginx事件模型有几种(Python实现监控Nginx配置文件的不同并发送邮件报警功能示例)
- python停止执行的代码(python定时检测无响应进程并重启的实例代码)
- python解析csv文件存到数据库(python读取csv和txt数据转换成向量的实例)
- python列表和条件组合的处理(一篇文章带你弄懂Python基础之列表相关操作和嵌套)
- python微信自动化(python微信撤回监测代码)
- python学生管理系统与数据库(python学生管理系统学习笔记)
- python图片aes加密(python实现AES加密和解密)
- python静态方法和类方法的区别(Python实例方法、类方法、静态方法的区别与作用详解)
- python指定路径创建txt文件(python根据txt文本批量创建文件夹)
- python怎么安装queue(python队列Queue的详解)
- python包和模块管理(python的依赖管理的实现)
- python代码返回值(Python 函数返回值的示例代码)
- python编写告白程序(python抖音表白程序源代码)
- python 调钉钉接口(python3实现钉钉消息推送的方法示例)
- python菜单栏中常用的菜单(Python3实现的简单三级菜单功能示例)
- python注册码实现(python实现Virginia无密钥解密)
- 超撩人治愈的绝美水彩,原来出自她之手 一笔一画令无数人沉醉(超撩人治愈的绝美水彩)
- 新手的勾线(新手的勾线)
- ()
- 书法欣赏 宋.志南诗《绝句》(宋.志南诗绝句)
- 每周一首古诗 《绝句》(每周一首古诗绝句)
- 蓝色代表什么(蓝色代表什么性格的人)
热门推荐
- SQLServer数据库中开启CDC导致事务日志空间被占满的原因(SQLServer数据库中开启CDC导致事务日志空间被占满的原因)
- a标签添加点击事件的几种方式
- web前端怎么设置图片的大小(Web前端绘制0.5像素的几种方法)
- dede管理插件(dede编辑器换成kindEditor编辑器的方法图解)
- python3中super函数的基本用法(实例讲解Python3中abs函数)
- 如何安全实现“记住我”的功能
- php中把字符串分开的函数(PHP字符串中抽取子串操作实例分析)
- angular怎么创建声明(使用Angular CDK实现一个Service弹出Toast组件功能)
- 如何提高织梦dedecms的安全性(详解织梦DedeCMS幻灯片调用图片显示模糊的原因以及解决办法)
- pandas如何删除索引列(pandas DataFrame 删除重复的行的实现方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9