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
您可能感兴趣
- python语言支持多态(Python实现多态、协议和鸭子类型的代码详解)
- python 文本文件读取方法(Python逐行读取文件中内容的简单方法)
- python列表切片和分片(Python列表切片操作实例总结)
- python中如何遍历键(Python中按值来获取指定的键)
- python怎么爬取excel数据(python爬取内容存入Excel实例)
- python中怎么实现登录程序(详解Python用户登录接口的方法)
- python3.7.2 详细安装教程(python3.5安装python3-tk详解)
- python多线程和多进程应用场景(Python多线程处理实例详解单进程/多进程)
- python怎么抽取微信图片(Python 一键制作微信好友图片墙的方法)
- python改变字体颜色指令(使用Python自动化破解自定义字体混淆信息的方法实例)
- python处理excel基础教程第3讲(Python Excel处理库openpyxl使用详解)
- python怎么操作mysql(详解Python的数据库操作pymysql)
- 怎么用python做随机矩阵(python实现杨氏矩阵查找)
- python图书管理系统(python面向对象法实现图书管理系统)
- python编写pygame游戏怎么打包(python使用pygame模块实现坦克大战游戏)
- python中list怎么用(详解python中list的使用)
- 《祝卿好》台词又土又甜,就喜欢这么直接的恋爱(祝卿好台词又土又甜)
- 大女主 汤唯垂青电视圈,搭档朱亚文出演《大明皇妃孙若微传》(汤唯垂青电视圈)
- 红色代表什么(红色代表什么情感和含义)
- 高中数学题(高中数学题型总结及解题方法)
- 冰岛旅游攻略(冰岛旅游攻略及花费)
- 为什么现在年轻人越来越喜欢买衣服(为什么现在年轻人越来越喜欢买衣服穿)
热门推荐
- 用mysql编写test数据库(MySQL制作具有千万条测试数据的测试库的方法)
- php教程字符串类型进阶技术教程(PHP中有关长整数的一些操作教程)
- SqlServer2016模糊匹配的三种方式及效率问题简析(SqlServer2016模糊匹配的三种方式及效率问题简析)
- java入坑rabbitmq(Python操作rabbitMQ的示例代码)
- php 面向对象与面向过程(php面向对象重点知识分享)
- css如何让图片居中
- 阿里云服务器ecs环境配置(阿里云ECS服务器的购买、配置升级和续费教程)
- C# Directory类的操作
- php面向对象教程理解(PHP面向对象程序设计之构造方法和析构方法详解)
- .NET中pdb文件的作用
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9