2022年10月15日 星期六

Python操作Excel讓百香果交易行情邁向辦公室自動化之路

敏哥好久沒有動手寫Python,剛好有機會閱讀由洪錦魁老師撰寫以及深智數位出版的新書-Python操作Excel:最強入門邁向辦公室自動化之路 王者歸來。忍不住小試身手,利用Python操作Excel讓百香果交易行情邁向辦公室自動化之路。

在2019年元月1日元旦開始用Python來發展百香果教材,利用數行指令就能讀取百香果的交易行情,而Excel更是辦公室自動化不可或缺的工具,兩者相互結合,就更能讓數據變得更加好用。

以下是程式碼:

 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
31
32
33
34
35
36
37
38
39
import requests
import json
import openpyxl

wb = openpyxl.Workbook()
ws = wb.active
print("目前工作表名稱=", ws.title)
ws.title = "百香果交易行情"
print("目前工作表名稱=", ws.title)
fn = 'passionfruit.xlsx'
sheet = wb[ws.title]
cell_title = [('A1','交易日期'),('B1','作物名稱'), ('C1', '市場名稱'), ('D1', '平均價'), ('E1','交易量') ]
for row in cell_title:
    sheet[row[0]].value = row[1]
rownumber = 1
r = requests.get('https://data.coa.gov.tw/Service/OpenData/FromM/FarmTransData.aspx')
text = json.loads(r.text)
for row in text:
    column = 1
    if row['作物名稱'] is None:
        continue
    if '百香果' in row['作物名稱']:
        rownumber = rownumber + 1
        print ('交易日期:'+row['交易日期'])
        sheet.cell(row=rownumber, column=column).value = row['交易日期']
        column = column + 1
        print ('作物名稱:'+row['作物名稱'])
        sheet.cell(row=rownumber, column=column).value = row['作物名稱']
        column = column + 1        
        print ('市場名稱:'+row['市場名稱'])
        sheet.cell(row=rownumber, column=column).value = row['市場名稱']
        column = column + 1        
        print ('平均價:'+str(row['平均價']))
        sheet.cell(row=rownumber, column=column).value = row['平均價']
        column = column + 1        
        print ('交易量:'+str(row['交易量']))
        sheet.cell(row=rownumber, column=column).value = row['交易量']
        column = column + 1        
wb.save(filename=fn)

執行結果:


沒有留言:

張貼留言