最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用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ù)分析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下

前言

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

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

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

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

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

為了方便大家使用,我已經(jīng)將這個(gè)庫集成到Python自動(dòng)化辦公的專用庫: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)容,并且注冊字體

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

from reportlab.pdfbase import pdfmetrics   # 注冊字體
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  # 頁面的標(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

②注冊字體

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

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

③生成報(bào)告

if __name__ == '__main__':
    # 創(chuàng)建內(nèi)容對應(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ù)', '較上年增長率'),
        ('公眾號(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python進(jìn)行視頻相似度比較實(shí)例

    使用Python進(jìn)行視頻相似度比較實(shí)例

    這篇文章主要介紹了使用Python進(jìn)行視頻相似度比較實(shí)例,本文通過漢明距離算法與圖片比較等方法對比兩個(gè)視頻流的相似度,文中提供了部分實(shí)現(xiàn)代碼與解決思路,需要的朋友可以參考下
    2023-07-07
  • Python實(shí)現(xiàn)爬取逐浪小說的方法

    Python實(shí)現(xiàn)爬取逐浪小說的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)爬取逐浪小說的方法,基于Python的正則匹配功能實(shí)現(xiàn)爬取小說頁面標(biāo)題、鏈接及正文等功能,需要的朋友可以參考下
    2015-07-07
  • python 三邊測量定位的實(shí)現(xiàn)代碼

    python 三邊測量定位的實(shí)現(xiàn)代碼

    這篇文章主要介紹了python 三邊測量定位的實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Python json讀寫方式和字典相互轉(zhuǎn)化

    Python json讀寫方式和字典相互轉(zhuǎn)化

    這篇文章主要介紹了Python json讀寫方式和字典相互轉(zhuǎn)化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python使用urllib2獲取網(wǎng)絡(luò)資源實(shí)例講解

    Python使用urllib2獲取網(wǎng)絡(luò)資源實(shí)例講解

    urllib2是Python的一個(gè)獲取URLs(Uniform Resource Locators)的組件。他以u(píng)rlopen函數(shù)的形式提供了一個(gè)非常簡單的接口,下面我們用實(shí)例講解他的使用方法
    2013-12-12
  • python三大器之迭代器、生成器、裝飾器

    python三大器之迭代器、生成器、裝飾器

    迭代是Python最強(qiáng)大的功能之一,是訪問集合元素的一種方式;迭代器是一個(gè)可以記住遍歷的位置的對象,本文給大家介紹python三大器之迭代器、生成器、裝飾器的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧
    2022-01-01
  • 最新評(píng)論

    饶平县| 舒兰市| 永宁县| 怀远县| 勐海县| 普兰店市| 昌乐县| 毕节市| 敦煌市| 环江| 安平县| 平安县| 莱西市| 嵊泗县| 泾川县| 新密市| 交口县| 霍林郭勒市| 桓仁| 肥西县| 灵山县| 张家港市| 宁陵县| 苍梧县| 斗六市| 聊城市| 合作市| 陆川县| 休宁县| 甘泉县| 崇文区| 烟台市| 拜城县| 竹溪县| 资阳市| 开江县| 灌云县| 怀集县| 禄丰县| 望都县| 清远市|