相關的閱讀:做好農作物生產成本收益分析:開源節流量入為出
從上方這篇文章中的公式如下:
農家賺款 = 家族勞動報酬+自家土地地租+自有
資金資本利息
家族勞動報酬 = 損益 + 自家人工費
損益 = 粗收益 - 生產費用總計(第二種生產費)
粗收益 = 主產物價值 + 副產物價值
第二種生產費 = 第一種生產費 + 地租 + 利息
第一種生產費 = 直接成本 + 間接成本 - 副產物價值
經由程式計算取得下列資訊:
第二種成本 (35) : 2412.9058
第一種成本 (34) : 1849.5991
農家賺款 (33) : 1050746.6948
家族勞動報酬(32) : 1034704.7943
損 益 (31) : 921067.9429
粗 收 益 (30) : 1721640.2956
1.首先要先瞭解資料的結構。
資料介接:https://data.coa.gov.tw/Service/OpenData/TransService.aspx?UnitId=lowkVAjACbtM2.爬蟲基本程式架構,從上圖可以看出,取出"百香果"的Key是"PRODUCTION",程式設計如下:1 2 3 4 5 6 7 | import requests import json r = requests.get('https://data.coa.gov.tw/Service/OpenData/TransService.aspx?UnitId=lowkVAjACbtM') text = json.loads(r.text) for row in text: if '百香果' in row['PRODUCTNAME']: print (row) |
執行結果:
3.雜亂的JSON格式,我們取出兩個重要的KEY,一個是'PRICE',另一個是'COSTITEM',設計程式如下:
1 2 3 4 5 6 7 | import requests import json r = requests.get('https://data.coa.gov.tw/Service/OpenData/TransService.aspx?UnitId=lowkVAjACbtM') text = json.loads(r.text) for row in text: if '百香果' in row['PRODUCTNAME']: print (row['COSTITEM'],':', row['PRICE']) |
執行結果:
4.居然發現成本資料有重複現象,重複部份在上圖反白部份,仔細檢查原始資料。
5.發現"COUNTYNAME",一個有標示"南投縣",一個是空字串,因此過濾程式如下:
1 2 3 4 5 6 7 8 | import requests import json r = requests.get('https://data.coa.gov.tw/Service/OpenData/TransService.aspx?UnitId=lowkVAjACbtM') text = json.loads(r.text) for row in text: if '百香果' in row['PRODUCTNAME']: if row['COUNTYNAME'] == '南投縣': print (row['COSTITEM'],':', row['PRICE'])土 |
執行結果:
6.依照文章內的公式,只留幾個重要的資訊,其程式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import requests import json r = requests.get('https://data.coa.gov.tw/Service/OpenData/TransService.aspx?UnitId=lowkVAjACbtM') text = json.loads(r.text) for row in text: if '百香果' in row['PRODUCTNAME']: if row['COUNTYNAME'] == '南投縣': if row['COSTITEM'] in [' 農家賺款 (33)', ' 家族勞動報酬(32)', ' 損 益 (31)', ' 粗 收 益 (30)', ' 第二種成本 (35)', ' 第一種成本 (34)']: print (row['COSTITEM'],':', row['PRICE']) |
執行結果: