湖濱散記部落格的樹心幽徑[login][主頁]
584:20200421查詢使用政府資料開放平台並將下載的csv檔用scalc及google電子試算表編修

 

 

(0)確定已下載並安裝 LibreOffice6.3.5(作業系統 Windows x86_64 )

 下載網址:https://www.libreoffice.org/donate/dl/win-x86_64/6.3.5/zh-TW/LibreOffice_6.3.5_Win_x64.msi

https://zh-tw.libreoffice.org/download


(1)連上 https://data.gov.tw/

(2)在查詢處輸入「電影票房」查得文化部2020/04/16提供的 全國電影票房統計數據/
    點csv檔將之(datagovtw_dataset_20200421.csv)下載為d:\a.csv (csv檔是用逗號分隔資料欄位的純文字檔)。

alt

(3)按WIN鍵/輸入notepad d:\a.csv,用記事本開啟d:\a.csv,發現內容為metadata(描述資料的資料)。

 

(4)按WIN鍵/輸入scalc d:\a.csv, 會出現「文字匯入」視窗,字元集要選取UTF8,才可用scalc正確解讀資料檔並打開,將剛打開檔案的工作表中的c02儲存格的超連結檔案(https://opendata.culture.tw/upload/dataSource/2018-08-09/1c3753a5-50f4-44f8-a75b-2b4d0dd2a143/69c6f154369fc266e8a3593f83d3b444.csv)下載為d:\b.csv

 

(5) 執行notepad d:\b.csv

alt

 

(6) 執行scalc d:\b.csv /出現文字匯入視窗/字元集要選取UTF8/依第K欄的值降序/發現(復仇者聯盟)票房金額第1名為640740755元。

 

alt

 

(7-1)將政府公開資料平台上的桃園市汽車竊盜點位(10806_2.csv下載 )下載為d:\c.csv

(7-2)執行 scalc d:\c.csv 將如上檔案以LibreOpeOffice 的Calc試算表軟體打開

(7-3)出現文字匯入交談視窗:字元集請選取UTF-8

alt

(7-4)存檔並選取ODS檔案格式,存為「d:\d.ods」

 

(8-1)在K1輸入dis,在L1輸入rank、O1輸入lat、p1輸入lon 

(8-2)在n2輸入待評估,O2輸入24.93、p2輸入121.26

(9-1)在k2輸入公式「 =SQRT((O$2-H2)*(O$2-H2)+(P$2-I2)*(P$2-I2))」

(9-2)把k2的公式拷給第k欄的其他所有儲存格(k3:k2844)

(9-3)J1輸入BREAU2在J2輸入公式 =F2並把J2的公式拷給第J欄的其他所有儲存格(J3:J2844)

(9-4)選a1:j2844/資料/排序/排序第1鍵選BREAU:升序/排序第2鍵選TIME:降序

(9-5)在L2輸入公式 「=RANK(K2,K$2:K$2844,1) 」 並將此公式拷給其他L欄儲存格(L3:L2844)

(9-6)在N5輸入「八德分局」,在N6輸入「大溪分局」,在N7輸入「桃園分局

 (9-7)在M5輸入公式 「=COUNTIFS(J:J,"=" & N5,L:L,"<10") 」並將之拷給M6及M7

(9-8)在M9輸入「最大值」,在M10輸入公式=MAX(M5:M7)

(9-9)在N10輸入公式「=VLOOKUP(M10,M5:N7,2)」

alt

 

(10-1)選取H1:H15(lat緯度資料欄)、再選取I1:I15(lon經度資料欄)、再選取K1:K15(dis:和評估點距離欄)。

(10-2)選取插入功能表/圖表/挑泡泡圖/資料範圍接受「以欄表示的資料列」、勾第一列作為標籤

        /「資料序列」接受預設值/完成。

(10-3)點選泡泡圖的泡泡,將其顏色改為橙色,如下圖。

alt

 

(11-1)篩選出最近前十名:

選取A1:L2844/資料/更多篩選/標準篩選/勾「範圍含有欄標籤」(如下圖)/設定條件為rank<10/確定

alt

(11-2)再次回存為「d:\d.ods」

(12-1) 將本檔上傳至google雲端硬碟,用google試算表打開。

(12-2) 在A2851 輸入 =query(A1:J2844,"select G,H,I where G='八德所'")

(12-3) 在H2851 輸入 =query(A1:J2844,"select G,avg(H),avg(I) group by G")

(12-4) 在L2851 輸入 =query(A1:J2844,"select G,avg(H),avg(I) where F='大溪分局' group by G")

查詢結果如下圖:

alt

 


REF 1:20191101安裝Openoffice並使用calc來處理「桃園市汽車竊盜點位csv檔」

 


select id,article_id,topic,text from lt_articles_text where article_id =584; ok. update lt_articles set num_reads=num_reads +1 where id=584; ok.