2025年6月4日 星期三

利用JinJa2模版語言設計漁產品交易行情Word模版

 


1. template.doc


2.python程式
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import requests
import json
from docxtpl import DocxTemplate

# 取得JSON資料
r = requests.get('https://data.moa.gov.tw/Service/OpenData/FromM/AquaticTransData.aspx')
json_data = json.loads(r.text)

# 整理資料(轉換為適合模板的格式)
data = []
for item in json_data:
    data.append({
        '交易日期': item.get('交易日期'),
        '品種代碼': item.get('品種代碼'),
        '魚貨名稱': item.get('魚貨名稱'),
        '市場名稱': item.get('市場名稱'),
        '上價': str(item.get('上價')),
        '中價': str(item.get('中價')),
        '下價': str(item.get('下價')),
        '交易量': str(item.get('交易量')),
        '平均價': str(item.get('平均價'))
    })

# 套用模板
tpl = DocxTemplate("template.docx")
context = { 'data': data }
tpl.render(context)
tpl.save("AquaticTransData.docx")

print("資料已套用模板並儲存為 AquaticTransData.docx")

執行結果:
如最上面的圖片

沒有留言:

張貼留言