2017年6月8日 星期四

Python邊學邊記錄-csv與with open

Python csv、with open

處理資料免不了要保存下來,存成『JSON』或是『CSV』都是選項!
lib部份,記得要import csv!

假如我們已經把資料保存在一個list內了。
items = []

with open('abc.csv', 'w', encoding='utf-8', newline='') as f:
    writer = csv.writer(f)  #  建立一個寫入物件
    writer.writerow(('a', 'b', 'c'))  #  標題欄
    for item in items:
        writer.writerow((column for column in item))

with open的部份是python內的標準io模組的method。
第一個字串參數要新增或是處理的檔案名稱,範例為abc.csv
第二個字串參數是處理模式:
  • r讀取
  • w寫入(建立新檔或覆蓋原檔)
  • a附加在尾端
  • x寫入(建立新檔,若檔名存在即報錯)
  • t文字模式
  • b二進位模式
  • r+更新(檔案需存在,從頭開始讀寫)
  • w+更新(建立新檔或覆蓋,從頭開始讀寫)
  • a+更新(建立新檔或從舊檔尾端做讀寫)
第三個字串參數是編碼格式,這部份需視你爬的網頁格式。
第四個字串參數是換行符號

如果要取讀csv檔的話
with open('ezprice.csv', 'r', encoding='utf-8') as f:
    reader = csv.DictReader(f)  #  建立一個讀取物件
    for row in reader:
        print(row['a'], row['b'], row['c'])


沒有留言:

張貼留言