本周目標
熟悉Python的基礎語法與資料結構
任務
- 學習函數的定義和使用(Parameters、Return Values)
- 練習設計和使用函數,並完成更多字串處理練習(例如文字查找和替換)
- 學習file open, write, read指令
- 學習json指令
- 練習從公開網站讀取資料並寫入文件
專案練習
載入台北市政府公開網站寫入內湖科技園區廠商資料
遇到問題”can only concatenate str (not “list”) to str”
file.write(company["公司名稱"]+"\n"+["統編"]+"\n")
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
TypeError: can only concatenate str (not "list") to str
測試以下方法都有問題
file.write(company[str(統編:)+"統編"]+"\n")
SyntaxError: invalid syntax
file.write(company[str(統編)+"統編"]+"\n")
NameError: name '統編' is not defined
file.write(company[str["公司名稱:"]+[]"公司名稱"]+"\n")
SyntaxError: invalid syntax. Perhaps you forgot a comma?
發現語法company後面[“公司名稱”]才是正確語法
修正後程式碼
str(“公司名稱:”)=顯示在文件檔開頭的文字
company[“公司名稱”]=從網站抓取的資料
import urllib.request as request
import json
src="https://data.taipei/api/v1/dataset/296acfa2-5d93-4706-ad58-e83cc951863c?scope=resourceAquire"
with request.urlopen(src) as response:
# data=response.read() #取得台中市政府公開資料原始碼
data=json.load(response)
# print(data)
clist=data["result"]["results"]
# print(clist)
with open("1114data.txt","w",encoding="utf-8") as file:
for company in clist:
file.write(str("公司名稱:")+company["公司名稱"]+"\n"+str("統編:")+company["統編"]+"\n")
Output
公司名稱:藍色地平線股份有限公司
統編:00019996
公司名稱:詠富國際數位有限公司
統編:00023817
公司名稱:安大資本股份有限公司
統編:00034130
公司名稱:亞太空中移動股份有限公司
統編:00041907
公司名稱:無二電影有限公司
統編:00060538
公司名稱:達盈智能股份有限公司
統編:00073549
公司名稱:連迎國際諮詢服務有限公司
統編:00074266
公司名稱:仲和資產管理股份有限公司
統編:00075440
公司名稱:兆隆發展投資股份有限公司
統編:00083743
公司名稱:鏈捷數位科技有限公司
統編:00084546
公司名稱:斐意國際有限公司
統編:00085469
公司名稱:快組隊股份有限公司
統編:00093670
公司名稱:馗光食業股份有限公司
統編:00094875
公司名稱:詠擎科技股份有限公司
統編:00095348
公司名稱:台灣駿河屋股份有限公司
統編:00102116
公司名稱:旭夫特有限公司
統編:00125336
公司名稱:力運投資有限公司
統編:00130318
公司名稱:連豐國際投資股份有限公司
統編:00131528
公司名稱:金廣發展投資股份有限公司
統編:00142721
公司名稱:合作愉快有限公司
統編:00154253