欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python實(shí)現(xiàn)自動(dòng)生成圖文并茂的數(shù)據(jù)分析

 更新時(shí)間:2022年08月10日 09:50:16   作者:程序員晚?xiàng)? 
這篇文章主要介紹了利用Python實(shí)現(xiàn)自動(dòng)生成圖文并茂的數(shù)據(jù)分析,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下

前言

reportlab是Python的一個(gè)標(biāo)準(zhǔn)庫(kù),可以畫(huà)圖、畫(huà)表格、編輯文字,最后可以輸出PDF格式。它的邏輯和編輯一個(gè)word文檔或者PPT很像。有兩種方法:

  • 建立一個(gè)空白文檔,然后在上面寫(xiě)文字、畫(huà)圖等;
  • 建立一個(gè)空白list,以填充表格的形式插入各種文本框、圖片等,最后生成PDF文檔。

因?yàn)樾枰a(chǎn)生一份給用戶看的報(bào)告,里面需要插入圖片、表格等,所以采用的是第二種方法。

1、一行命令,安裝這個(gè)庫(kù)

reportlab輸入Python的第三方庫(kù),使用前需要先安裝,

為了方便大家使用,我已經(jīng)將這個(gè)庫(kù)集成到Python自動(dòng)化辦公的專用庫(kù):pip install python-office中了,

因此一行命令就可以完成的安裝命令如下??

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-office -U

2、核心代碼模塊導(dǎo)入

①提前導(dǎo)入相關(guān)內(nèi)容,并且注冊(cè)字體

(注冊(cè)字體前需要先準(zhǔn)備好字體文件)

from reportlab.pdfbase import pdfmetrics   # 注冊(cè)字體
from reportlab.pdfbase.ttfonts import TTFont # 字體類
from reportlab.platypus import Table, SimpleDocTemplate, Paragraph, Image  # 報(bào)告內(nèi)容相關(guān)類
from reportlab.lib.pagesizes import letter  # 頁(yè)面的標(biāo)志尺寸(8.5*inch, 11*inch)
from reportlab.lib.styles import getSampleStyleSheet  # 文本樣式
from reportlab.lib import colors  # 顏色模塊
from reportlab.graphics.charts.barcharts import VerticalBarChart  # 圖表類
from reportlab.graphics.charts.legends import Legend  # 圖例類
from reportlab.graphics.shapes import Drawing  # 繪圖工具
from reportlab.lib.units import cm  # 單位:cm

②注冊(cè)字體

提前準(zhǔn)備好字體文件, 如果同一個(gè)文件需要多種字體可以注冊(cè)多個(gè)

pdfmetrics.registerFont(TTFont('SimSun', 'SimSun.ttf'))
封裝不同內(nèi)容對(duì)應(yīng)的函數(shù)
創(chuàng)建一個(gè)Graphs類,通過(guò)不同的靜態(tài)方法提供不同的報(bào)告內(nèi)容,包括:標(biāo)題、普通段落、圖片、表格和圖表。函數(shù)中的相關(guān)數(shù)據(jù)目前絕大多數(shù)都是固定值,可以根據(jù)情況自行設(shè)置成相關(guān)參數(shù)。
# Graphs類的全部代碼,請(qǐng)+v:CoderWanFeng

③生成報(bào)告

if __name__ == '__main__':
    # 創(chuàng)建內(nèi)容對(duì)應(yīng)的空列表
    content = list()

    # 添加標(biāo)題
    content.append(Graphs.draw_title('數(shù)據(jù)分析就業(yè)薪資'))

    # 添加圖片
    content.append(Graphs.draw_img('資料全集.jpg'))

    # 添加段落文字
    content.append(Graphs.draw_text('眾所周知,大數(shù)據(jù)分析師崗位是香餑餑,近幾年數(shù)據(jù)分析熱席卷了整個(gè)互聯(lián)網(wǎng)行業(yè),與數(shù)據(jù)分析的相關(guān)的崗位招聘、培訓(xùn)數(shù)不勝數(shù)。很多人前赴后繼,想要參與到這波紅利當(dāng)中。那么數(shù)據(jù)分析師就業(yè)前景到底怎么樣呢?需要學(xué)習(xí)Python + 大數(shù)據(jù)分析,可以添加我:CoderWanFeng'))

    # 添加小標(biāo)題
    content.append(Graphs.draw_title(''))
    content.append(Graphs.draw_little_title('全網(wǎng)同名:程序員晚?xiàng)?))

    # 添加表格
    data = [
        ('平臺(tái)名稱', '關(guān)注人數(shù)', '較上年增長(zhǎng)率'),
        ('公眾號(hào)', '18.5K', '25%'),
        ('B站', '25.5K', '14%'),
        ('微博', '29.3K', '10%')
    ]
    content.append(Graphs.draw_table(*data))

    # 生成圖表
    content.append(Graphs.draw_title(''))
    content.append(Graphs.draw_little_title('熱門城市的就業(yè)情況'))
    b_data = [(25400, 12900, 20100, 20300, 20300, 17400), (15800, 9700, 12982, 9283, 13900, 7623)]
    ax_data = ['BeiJing', 'ChengDu', 'ShenZhen', 'ShangHai', 'HangZhou', 'NanJing']
    leg_items = [(colors.red, '平均薪資'), (colors.green, '招聘量')]
    content.append(Graphs.draw_bar(b_data, ax_data, leg_items))

    # 生成pdf文件 
    doc = SimpleDocTemplate('report.pdf', pagesize=letter)
    doc.build(content)

生成報(bào)告的結(jié)果如下:

到此這篇關(guān)于利用Python實(shí)現(xiàn)自動(dòng)生成圖文并茂的數(shù)據(jù)分析的文章就介紹到這了,更多相關(guān)Python自動(dòng)生成圖文內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python刷投票的腳本實(shí)現(xiàn)代碼

    python刷投票的腳本實(shí)現(xiàn)代碼

    這篇文章主要介紹了寫(xiě)了個(gè)python刷投票的腳本,需要的朋友可以參考下
    2014-11-11
  • 妙用itchat! python實(shí)現(xiàn)久坐提醒功能

    妙用itchat! python實(shí)現(xiàn)久坐提醒功能

    python編寫(xiě)的久坐提醒,給最愛(ài)的那個(gè)她,這篇文章主要為大家分享了python久坐提醒功能的實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • python實(shí)現(xiàn)在windows服務(wù)中新建進(jìn)程的方法

    python實(shí)現(xiàn)在windows服務(wù)中新建進(jìn)程的方法

    這篇文章主要介紹了python實(shí)現(xiàn)在windows服務(wù)中新建進(jìn)程的方法,涉及Python針對(duì)Windows服務(wù)與進(jìn)程操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • 使用wxPython獲取系統(tǒng)剪貼板中的數(shù)據(jù)的教程

    使用wxPython獲取系統(tǒng)剪貼板中的數(shù)據(jù)的教程

    這篇文章主要介紹了使用wxPython獲取系統(tǒng)剪貼板中的數(shù)據(jù)的教程,wxPython是一個(gè)非常受歡迎的Python圖形庫(kù),需要的朋友可以參考下
    2015-05-05
  • Python從單元素字典中獲取key和value的實(shí)例

    Python從單元素字典中獲取key和value的實(shí)例

    今天小編就為大家分享一篇Python從單元素字典中獲取key和value的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • 使用Python進(jìn)行IPO分析的基本步驟和工具

    使用Python進(jìn)行IPO分析的基本步驟和工具

    在軟件開(kāi)發(fā)過(guò)程中,IPO(Input-Process-Output)分析是一種常用的方法,用于分析軟件系統(tǒng)的輸入、處理和輸出,Python作為一種功能強(qiáng)大的編程語(yǔ)言,提供了許多工具和庫(kù)來(lái)實(shí)現(xiàn)IPO分析,本文將介紹如何使用Python進(jìn)行IPO分析的基本步驟和常用工具,需要的朋友可以參考下
    2023-12-12
  • 詳解Python使用Plotly繪圖工具,繪制甘特圖

    詳解Python使用Plotly繪圖工具,繪制甘特圖

    這篇文章主要介紹了Python使用Plotly繪圖工具,繪制甘特圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • PyQt5下拉式復(fù)選框QComboCheckBox的實(shí)例

    PyQt5下拉式復(fù)選框QComboCheckBox的實(shí)例

    今天小編就為大家分享一篇PyQt5下拉式復(fù)選框QComboCheckBox的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • 解決python3插入mysql時(shí)內(nèi)容帶有引號(hào)的問(wèn)題

    解決python3插入mysql時(shí)內(nèi)容帶有引號(hào)的問(wèn)題

    今天小編就為大家分享一篇解決python3插入mysql時(shí)內(nèi)容帶有引號(hào)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python如何提取chm數(shù)據(jù)

    Python如何提取chm數(shù)據(jù)

    這篇文章主要介紹了Python如何提取chm數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評(píng)論