2017年6月16日 星期五

Python邊學邊記錄-csv

Python CSV

csv.reader

python中已有處理csv的lib了,所以使用的時候直接import即可!
import csv
csvFile = open('demo.csv')
csvReader = csv.reader(csvFile)
csvData = list(csvReader)
這樣就可以把資料讀進csvData了
python csv

如果擔心csv檔案過大一次讀入會吃太多記憶體的話,那也可以透過for來處理!
for row in csvReader:
    print('Row:' + str(csvReader.line_num) + ' ' + str(row))
以type去查row的話,它的型態的是list,所以要轉成str來列印!
另外,以迴圈執行完之後,基本上指標已經跑到最後了,所以如果還要再來一次的話,就需要再執行一次csvReader=csv.reader(csvFile)

csv.writer

import csv
wFile = open('demo.csv', 'w', newline='')
wWriter = csv.writer(wFile)
wWriter.writerow(['1','2','3'])
wFile.close()  #  有開門就記得要關門!

這樣子,就會寫入檔案了,不過要注意的是操作的模式,'w'的話是會將檔案重頭開始,這部份當然要看是寫入後面還是怎麼樣子的,依情況來處理!

如果在寫入csv的時候想要改變定位點,不想要用『,』以及想要兩倍行距的話,在writer的時候就要指定了。
wWriter = csv.writer(wFile, delimiter='\t', lineterminator='\n\n')
#  delimiter代表定位點,lineterminator可調整行距







沒有留言:

張貼留言