iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python数据展示之生成表格图片
  • 941
分享到

Python数据展示之生成表格图片

2024-04-02 19:04:59 941人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录pytabplotly前言: 本文来讲讲如何用python生成表格图片。 选一个合适库 Python最大的优点就是第三方库丰富,基本你要什么功能,都能找到别人实现好的库,几行代码

前言:

本文来讲讲如何用python生成表格图片。

选一个合适库

Python最大的优点就是第三方库丰富,基本你要什么功能,都能找到别人实现好的库,几行代码一调用就完事了。

Pytable

最先找到的是日本人开发的pytab库,它是基于 matplotlib 来画图的,默认参数下生成的表格外观一般般,而且显示不了中文字符,字体也很小,效果不理想。

我一开始还抱着死磕的心态,把这个库的源码下载下来魔改,改了字体和大小,生成的表格终于能看了,但排版还是会出各种奇奇怪怪的问题,比如文字溢出单元格之类的,心累……

Plotly:官网地址

后面找到了一个新的库:plotly,

官网的介绍是:

专门为机器学习和数据科学设计的前端展示工具,单纯拿来画表格还算大材小用了~ 它是用网页来渲染的,看例子效果还可以,我就换成这个plotly试试,嗯,真的可以,那就这个了。

本文会分别介绍这两个库的使用,包括我魔改了pytab的地方。

(不过还是推荐plotly,网页渲染就是好)

pytab

首先安装

pip install pytab

然后我把画表格的代码封装成一个函数

import uuid
from typing import List, Dict, Optional, Tuple

import pytab

def draw_table(data: Dict[str, list]):
    """
    画表格

    :param data: 数据格式 {
        '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, ],
        }
    :return:
    """
    # 设置字体,不然显示不了中文
    pytab.plt.rcParams["font.sans-serif"] = ["SimHei"]
    pytab.table( 
        data=data,
        data_loc='center',
        # th_type='dark',
        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.uuid4().hex}.jpg')
    print(temp_file)
    pytab.save(temp_file)
    return temp_file

按照注释的这个数据格式,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': [1.0, 2.1, 3.5, 4.0, 2.0, 1.0, 2.1, 3.5, 4.0, 2.0, ],
    '列2': [5.7, 6.1, 7.2, 8.3, 1.2, 5.7, 6.1, 7.2, 8.3, 1.2, ],
}

画出来是这样

有点丑吧,勉强能看

OK~ 关于pytab的就不多折腾了,毕竟上限就在这了

接下来看看plotly

plotly

首先安装

pip install plotly

话不多说,老规矩,我又是写成一个函数

import uuid
from typing import List, Dict, Optional, Tuple

import plotly.graph_objects as Go
import plotly.io as pio

def draw_table(headers: List[str], cells: List[list]):
    """
    画表

    :param headers: header=dict(values=['A Scores', 'B Scores'])
    :param cells: cells=dict(values=[[100, 90, 80, 90], [95, 85, 75, 95]])
    :return:
    """
    pio.kaleido.scope.default_width = len(','.join(headers)) * 20
    pio.kaleido.scope.default_height = 250 + len(cells[0]) * 20
    fig = go.Figure(data=[go.Table(header=dict(values=headers), cells=dict(values=cells))])
    # fig.show()
    image_file = os.path.join(tempfile.gettempdir(), f'{uuid.uuid4().hex}.jpg')
    print('write image to', image_file)
    fig.write_image(image_file)
    return image_file

这次的参数格式更前面的pytab不一样,要传两个参数,都是数组类型

第一个是表头,第二个数组是单元格

先来个例子试试

draw_table(['列A', '列B'], [[100, 90, 80, 90], [95, 85, 75, 95]])

然后把上面函数代码里的 fig.show() 注释去掉,可以看到生成的表格图片效果

运行后可以发现自动打开了浏览器,因为这个库是使用网页来渲染表格的,

效果如下:

效果比前面那个pytab好一些

到此这篇关于Python数据展示之生成表格图片的文章就介绍到这了,更多相关Python生成表格图片内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python数据展示之生成表格图片

本文链接: https://www.lsjlt.com/news/117200.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python数据展示之生成表格图片
    目录pytabplotly前言: 本文来讲讲如何用Python生成表格图片。 选一个合适库 Python最大的优点就是第三方库丰富,基本你要什么功能,都能找到别人实现好的库,几行代码...
    99+
    2024-04-02
  • Python怎么生成表格图片
    本篇内容介绍了“Python怎么生成表格图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!pytab首先安装pip install...
    99+
    2023-06-29
  • python生成带有表格的图片
    因为工作中需要,需要生成一个带表格的图片 例如: 直接在html中写一个table标签,然后单独把表格部分保存成图片 或者是直接将excel中的内容保存成一个图片 刚开始的思路,是直接生成一个带有table标签的html文件,然后...
    99+
    2023-01-31
    表格 图片 python
  • java生成PDF(图片,模板,表格)
    刚接到了一个需求,生成一个pdf,一开始以为挺简单的,通过模板生成嘛,我也发过相应的文章,根据模板直接生成pdf,响应到前端或者根据模板生成pdf,直接指定下载位置,这两种方案都可以,不过这篇文章主要讲的生成的pdf是既有模板填充还需要自己...
    99+
    2023-08-16
    java pdf echarts
  • Python生成九宫格图片的示例代码
    一、前言 大家在朋友圈应该看到过用一张图片以九宫格的方式显示,效果大致如下: 要实现上面的效果非常简单,我们只需要截取图片的九个区域即可。今天我们就要带大家使用Python来实现...
    99+
    2024-04-02
  • Python数据分析之PMI数据图形展示
    目录前言PMI 数据获取pmi 图形绘制总结前言 前文讲述了ppi-cpi和m0-m1-m2的图形绘制,在本文中继续分享一个反映经济活动景气度的指标PMI,在本文中还是采用爬虫的方式...
    99+
    2024-04-02
  • Python+SeaTable实现生成条形码图片并写入表格
    目录在 SeaTable 中用 Python 生成条形码新建 Python 脚本写入代码运行脚本设置条码参考应用场景打印条形码用于粘贴答题卡设计准考证页面用于识别信息总结不管是录入信...
    99+
    2024-04-02
  • 如何使用Python生成九宫格图片
    这篇文章将为大家详细讲解有关如何使用Python生成九宫格图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前言大家在朋友圈应该看到过用一张图片以九宫格的方式显示,效果大致如下:要实现上面的效果非常简...
    99+
    2023-06-14
  • Python数据可视化JupyterNotebook绘图生成高清图片
    大家好,我是小五???? 最近有小伙伴问了个问题:如何在jupyter notebook,用Matplotlib画图时能够更“高清”? 今天正好跟大家...
    99+
    2024-04-02
  • elementplus实现多级表格(最后一级展示图片)
    目录想要实现的效果递归处理数据递归调用组件想要实现的效果 总共四级 前三级是表格 第四级使用图片展示; 看了一下官网 计划使用官网的树形结构, 但是发现并不能满足最后一个是图片形式...
    99+
    2023-05-18
    elementplus 多级表格
  • 基于Python实现将列表数据生成折线图
    目录前言代码代码说明验证效果前言 本文提供python将列表数据画图的样例代码。主要是给自己的记录,顺便分享一下。主要使用到的库是:pandas、matplotlib。 代码 下面直...
    99+
    2024-04-02
  • Python中切片迭代列表生成式及生成器的示例分析
    小编给大家分享一下Python中切片迭代列表生成式及生成器的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在Python中,代码越少越好、越简单越好。基于这一思想,需要掌握Python中非常有用的高级特性,1行代码...
    99+
    2023-06-25
  • Python高级特性之切片迭代列表生成式及生成器详解
    目录切片迭代列表生成式生成器迭代器在Python中,代码越少越好、越简单越好。基于这一思想,需要掌握Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码。代码越少,...
    99+
    2024-04-02
  • java根据数据生成图片的方法是什么
    在Java中,可以使用Java 2D图形库来生成图片。以下是生成图片的一种常见方法:1. 创建一个BufferedImage对象,该...
    99+
    2023-09-17
    java
  • python自动处理数据生成报表
    使用模块xlsxwriterimport xlsxwriterworkbook = xlsxwriter.Workbook('chart.xlsx')     #创建一个Excel文件worksheet = workbook.add_wor...
    99+
    2023-01-31
    报表 数据 python
  • 如何基于Python实现将列表数据生成折线图
    这篇文章主要为大家展示了“如何基于Python实现将列表数据生成折线图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何基于Python实现将列表数据生成折线图”这篇文章吧。代码下面直接发一下样...
    99+
    2023-06-29
  • 用python 修改word中表格数据,插入图片 +实例分析
    今天学习了关于word表格修改数据,插入图片的知识。Word表格跟对普通的文章段落处理不太一样,下面我就用我学校的请假条表格来带大家一一分析。 1.导入python-docx库 在cmd中导入该库 pip install python...
    99+
    2024-04-02
  • 关于elementUi表格合并行数据并展示序号
    效果如下:属于同一个厂商的数据要合并成一行 element官网对于合并行和列是这样说的: 通过给table传入span-method方法可以实现合并行或列,方法的参数是一个对象,里...
    99+
    2023-05-17
    elementUi 表格 elementUi 合并行数据
  • 怎么使用Python根据原始Excel表格批量生成目标Excel表格
    本文小编为大家详细介绍“怎么使用Python根据原始Excel表格批量生成目标Excel表格”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Python根据原始Excel表格批量生成目标Excel表格”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-06
  • echarts图表无数据/空数据如何展示"暂无数据"
    目录前言1、显示“暂无数据”文字 2、显示“暂无数据”图片总结前言 我们从后端获取数据动态渲染图表时,难免会遇到数据为空的情...
    99+
    2022-11-13
    echarts图表无数据 echarts图表空数据
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作