兩秒完成250頁豆瓣電影PPT
PPT並不好用, 但還是得用它, 這裡借用豆瓣Top250的電影資訊, 利用
python-pptx (0.6.7)
自動生成250張PPT, 希望通過例項, 給常年整理PPT報表的上班族, 一個解放生產力的新思路
最終效果展示
資料哪裡來的?
爬蟲抓的!
不懂爬蟲怎麼辦?
自動化製作PPT 的 一二三
先製作PPT模板
製作模板的過程, 就是插入佔位符的過程, 可以根據自己的需求插入各種佔位符, 比如,豆瓣電影Top250的需求是, 插入圖片和文字內容, 那就從佔位符中選擇,
內容
,圖片
, 插入模板就好, 然後再對模板中的內容
樣式和圖片
位置進行調整, 就能得到符合需求的模板了
準備資料:
我直接把原來寫過的,python爬取豆瓣電影的指令碼, 執行了一遍, 圖片和文字資料就都齊了《進擊的蟲師》爬取豆瓣電影海報(Top250)
Python程式設計(將資料按照模板填空, 匯出到最終的ppt中)
原始碼如下(註釋詳盡):
from pptx import Presentation
from pptx.util import Inches
# 獲取豆瓣電影資訊
def getInfo():
movies_info = []
with open(`./douban_movie_top250.txt`) as f:
for line in f.readlines():
line_list = line.split("`")
one_movie_info = {}
one_movie_info[`index`] = line_list[1]
one_movie_info[`title`] = line_list[3]
one_movie_info[`score`] = line_list[5]
try:
one_movie_info[`desc`] = line_list[7]
except:
one_movie_info[`desc`] = ``
one_movie_info[`image_path`] = "./Top250_movie_images/"+ str(line_list[1]) + `_` + line_list[3] + ".jpg"
movies_info.append(one_movie_info)
return movies_info
# 建立ppt
def createPpt(movies_info):
prs = Presentation(`model.pptx`)
for movie_info in movies_info:
# 獲取模板個數
templateStyleNum = len(prs.slide_layouts)
# 按照第一個模板建立 一張幻燈片
oneSlide = prs.slides.add_slide(prs.slide_layouts[0])
# 獲取模板可填充的所有位置
body_shapes = oneSlide.shapes.placeholders
for index, body_shape in enumerate(body_shapes):
if index == 0:
body_shape.text = movie_info[`index`]+movie_info[`title`]
elif index == 1:
img_path = movie_info[`image_path`]
body_shape.insert_picture(img_path)
elif index == 2:
body_shape.text = movie_info[`desc`]
elif index == 3:
body_shape.text = movie_info[`score`]
# 對ppt的修改
prs.save(`豆瓣Top250推薦.pptx`)
def main():
# 獲取豆瓣電影資訊
movies_info = getInfo()
createPpt(movies_info)
if __name__ == `__main__`:
main()
Python生成圖表(豆瓣電影Top20的評分為例)
# encoding: utf-8
from pptx import Presentation
from pptx.chart.data import ChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.util import Inches
# 建立幻燈片
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[6])
# 定義圖表資料
chart_data = ChartData()
chart_data.categories = [`肖申克的救贖`, `霸王別姬`, `這個殺手不太冷`, `阿甘正傳`, `美麗人生`, `千與千尋`, `泰坦尼克號`, `辛德勒的名單`, `盜夢空間`, `機器人總動員`, `海上鋼琴師`, `三傻大鬧寶萊塢`, `忠犬八公的故事`, `放牛班的春天`, `大話西遊之大聖娶親`, `楚門的世界`, `教父`, `龍貓`, `熔爐`, `亂世佳人`]
chart_data.add_series(`豆瓣電影`, (9.6, 9.5, 9.4, 9.4, 9.5, 9.2, 9.2, 9.4, 9.3, 9.3, 9.2, 9.2, 9.2, 9.2, 9.2, 9.1, 9.2, 9.1, 9.2, 9.2))
# 將圖表新增到幻燈片
x, y, cx, cy = Inches(0), Inches(0), Inches(10), Inches(8)
slide.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data)
prs.save(`豆瓣 Top20 評分圖.pptx`)
關於資料圖形化: Python有很多優秀的圖形庫, 比如matplotlab, 以及Google推出的線上程式設計工具colabratory, 都可以方便的實現資料視覺化, 掌握了Python圖形庫的使用, 基本可以和PPT圖表說拜拜了…
教程涉及到的資源我都通過百度網盤分享給大家,為了便於大家的下載,資源整合到了一張獨立的帖子裡,連結如下:
http://www.jianshu.com/p/4f28e1ae08b1
相關文章
- 使用python爬取豆瓣電影TOP250Python
- Python爬取分析豆瓣電影Top250Python
- scrapy入門:豆瓣電影top250爬取
- 資料視覺化豆瓣電影 TOP250視覺化
- 爬取豆瓣電影Top250和資料分析
- 正規表示式_爬取豆瓣電影排行Top250
- 爬蟲01:爬取豆瓣電影TOP 250基本資訊爬蟲
- Python爬蟲筆記(4):利用scrapy爬取豆瓣電影250Python爬蟲筆記
- 豆瓣電影TOP250爬蟲及視覺化分析筆記爬蟲視覺化筆記
- 【python爬蟲案例】利用python爬取豆瓣電影TOP250評分排行資料!Python爬蟲
- 手把手教你網路爬蟲(爬取豆瓣電影top250,附帶原始碼)爬蟲原始碼
- 批量抓取豆瓣電影圖片
- python——豆瓣top250爬取Python
- scrapy爬取豆瓣電影資料
- 豆瓣top250資料爬取
- React實現的超高仿豆瓣電影React
- 豆瓣top250(go版以及python版)GoPython
- Flutter(十二)之練習高仿豆瓣電影列表Flutter
- python更換代理爬取豆瓣電影資料Python
- 豆瓣:2019年度電影榜單 《哪吒》領跑高分華語電影榜
- 專案之爬蟲入門(豆瓣TOP250)爬蟲
- 爬蟲教程——用Scrapy爬取豆瓣TOP250爬蟲
- 豆瓣:2023年度電影榜單《流浪地球 2》斬獲最高評分華語電影
- python爬蟲 爬取豆瓣電影 1-10 ajax 資料Python爬蟲
- Python爬蟲教程-17-ajax爬取例項(豆瓣電影)Python爬蟲
- 【Python】從0開始寫爬蟲——轉身扒豆瓣電影Python爬蟲
- 豆瓣電影:2019年評分最高的十大日本劇集
- 重寫Hexo豆瓣影評外掛Hexo
- 遊戲界的豆瓣如果完成淘寶化...遊戲
- 豆瓣電影更改短評顯示機制 不再顯示全部短評
- 真人出演、250 頁劇本!這可能是手機最強解謎遊戲,比諾蘭電影還燒腦遊戲
- 豆瓣:2020年度電影榜單 《1917》成評分最高外語片
- 3秒搜電影,基於Pyqt5的簡單電影搜尋工具,會Python真牛逼!QTPython
- 迫於 250,來自薦兩個 golang 庫Golang
- 使用Scrapy抓取優酷視訊列表頁(電影/電視)
- Python爬取豆瓣電影的短評資料並進行詞雲分析處理Python
- 豆瓣:10年代電影佳片榜 《我不是藥神》《盜夢空間》登頂
- 教你用python登陸豆瓣並爬取影評Python