【相關推薦:Python3視訊教學 】
CSV(Comma-Separated Values)即逗號分隔值,一種以逗號分隔按行儲存的文字檔案,所有的值都表現為字串型別(注意:數位為字串型別)。
如果CSV中有中文,應以utf-8編碼讀寫.
python中對csv檔案有自帶的庫可以使用,當我們要對csv檔案進行讀寫的時候直接匯入即可。 |
import csv
語法:csv.writer(f):
writer支援writerow(列表)單行寫入,和writerows(巢狀列表)批次寫入多行,無須手動儲存。
import csv header = ['name','age','QQ_num','wechat']data = [['suliang','21','787991021','lxzy787991021']]with open ('information.csv','w',encoding='utf-8',newline='') as fp: # 寫 writer =csv.writer(fp) # 設定第一行標題頭 writer.writerow(header) # 將資料寫入 writer.writerows(data)
結果:
注意,開啟檔案時應指定格式為w, 文字寫入.
開啟檔案時,指定不自動新增新行newline=‘’,否則每寫入一行就或多一個空行。
語法:csv.reader(f, delimiter=‘,’)
reader為生成器,每次讀取一行,每行資料為列表格式,可以通過delimiter引數指定分隔符
import csvwith open('information.csv',encoding='utf-8')as fp: reader = csv.reader(fp) # 獲取標題 header = next(reader) print(header) # 遍歷資料 for i in reader: print(i)
結果:
讀取檔案時檔案路徑務必要寫對,不確定時可寫絕對路徑。要獲取csv的內容則需要遍歷再輸出。
語法:csv.DicWriter(f):
寫入時可使用writeheader()寫入標題,然後使用writerow(字典格式資料行)或writerows(多行資料)
import csv header = ['name','age']data = [{'name':'suliang','age':'21'}, {'name':'xiaoming','age':'22'}, {'name':'xiaohu','age':'25'}]with open ('information.csv','w',encoding='utf-8',newline='') as fp: # 寫 writer =csv.DictWriter(fp,header) # 寫入標題 writer.writeheader() # 將資料寫入 writer.writerows(data)
結果:
語法:csv.DicReader(f, delimiter=‘,’)
直接將標題和每一列資料組裝成有序字典(OrderedDict)格式,無須再單獨讀取標題行
import csvwith open('information.csv',encoding='utf-8')as fp: reader = csv.DictReader(fp) for i in reader print(i)
結果:
r:以讀方式開啟檔案,可讀取檔案資訊
w: 已寫方式開啟檔案,可向檔案寫入資訊。如檔案存在,則清空,再寫入
a:以追加模式開啟檔案,開啟檔案可指標移至末尾,檔案不存在則建立
r+:以讀寫方式開啟檔案,可對檔案進行讀和寫操作
w+:消除檔案內容,以讀寫方式開啟檔案
a+:以讀寫方式開啟檔案,檔案指標移至末尾
b:以二進位制開啟檔案
【相關推薦:Python3視訊教學 】
以上就是一文搞懂怎麼在python中讀取和寫入CSV檔案的詳細內容,更多請關注TW511.COM其它相關文章!