Python CSV
csv.reader
python中已有處理csv的lib了,所以使用的時候直接import即可!
import csv
csvFile = open('demo.csv')
csvReader = csv.reader(csvFile)
csvData = list(csvReader)
這樣就可以把資料讀進csvData了
csvFile = open('demo.csv')
csvReader = csv.reader(csvFile)
csvData = list(csvReader)
如果擔心csv檔案過大一次讀入會吃太多記憶體的話,那也可以透過for來處理!
for row in csvReader:
print('Row:' + str(csvReader.line_num) + ' ' + str(row))
以type去查row的話,它的型態的是list,所以要轉成str來列印!print('Row:' + str(csvReader.line_num) + ' ' + str(row))
另外,以迴圈執行完之後,基本上指標已經跑到最後了,所以如果還要再來一次的話,就需要再執行一次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() # 有開門就記得要關門!
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可調整行距
# delimiter代表定位點,lineterminator可調整行距
沒有留言:
張貼留言