在python中讀取和寫入CSV文件詳情
前言
CSV(Comma-Separated Values)即逗號分隔值,一種以逗號分隔按行存儲的文本文件,所有的值都表現(xiàn)為字符串類型(注意:數(shù)字為字符串類型)。如果CSV中有中文,應(yīng)以utf-8編碼讀寫.
1.導入CSV庫
python中對csv文件有自帶的庫可以使用,當我們要對csv文件進行讀寫的時候直接導入即可。
import csv
2.對CSV文件進行讀寫
2.1 用列表形式寫入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) # 設(shè)置第一行標題頭 writer.writerow(header) # 將數(shù)據(jù)寫入 writer.writerows(data)
結(jié)果:
注意:打開文件時應(yīng)指定格式為w, 文本寫入.
打開文件時,指定不自動添加新行newline=‘’,否則每寫入一行就或多一個空行。
2.2 用列表形式讀取CSV文件
語法:csv.reader(f, delimiter=‘,’)
reader為生成器,每次讀取一行,每行數(shù)據(jù)為列表格式,可以通過delimiter參數(shù)指定分隔符
import csv with open('information.csv',encoding='utf-8')as fp: reader = csv.reader(fp) # 獲取標題 header = next(reader) print(header) # 遍歷數(shù)據(jù) for i in reader: print(i)
結(jié)果:
讀取文件時文件路徑務(wù)必要寫對,不確定時可寫絕對路徑。要獲取csv的內(nèi)容則需要遍歷再輸出。
2.3 用字典形式寫入csv文件
語法:csv.DicWriter(f):
寫入時可使用writeheader()寫入標題,然后使用writerow(字典格式數(shù)據(jù)行)或writerows(多行數(shù)據(jù))
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() # 將數(shù)據(jù)寫入 writer.writerows(data)
結(jié)果:
2.4 用字典形式讀取csv文件
語法:csv.DicReader(f, delimiter=‘,’)
直接將標題和每一列數(shù)據(jù)組裝成有序字典(OrderedDict)格式,無須再單獨讀取標題行
import csv with open('information.csv',encoding='utf-8')as fp: reader = csv.DictReader(fp) for i in reader print(i)
結(jié)果:
附:csv讀寫的模式
- r:以讀方式打開文件,可讀取文件信息
- w: 已寫方式打開文件,可向文件寫入信息。如文件存在,則清空,再寫入
- a:以追加模式打開文件,打開文件可指針移至末尾,文件不存在則創(chuàng)建
- r+:以讀寫方式打開文件,可對文件進行讀和寫操作
- w+:消除文件內(nèi)容,以讀寫方式打開文件
- a+:以讀寫方式打開文件,文件指針移至末尾
- b:以二進制打開文件
結(jié)語
到此這篇關(guān)于在python中讀取和寫入CSV文件詳情的文章就介紹到這了,更多相關(guān)python讀寫CSV文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python一行sql太長折成多行并且有多個參數(shù)的方法
今天小編就為大家分享一篇python一行sql太長折成多行并且有多個參數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07python調(diào)用函數(shù)、類和文件操作簡單實例總結(jié)
這篇文章主要介紹了python調(diào)用函數(shù)、類和文件操作,結(jié)合簡單實例形式總結(jié)分析了Python調(diào)用函數(shù)、類和文件操作的各種常見操作技巧,需要的朋友可以參考下2019-11-11如何在Windows環(huán)境下安裝PyMySQL(已安裝Anaconda)
這篇文章主要介紹了如何在Windows環(huán)境下安裝PyMySQL問題(已安裝Anaconda),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08python實現(xiàn)簡易內(nèi)存監(jiān)控
這篇文章主要介紹了python實現(xiàn)簡易內(nèi)存監(jiān)控,每隔3秒獲取系統(tǒng)內(nèi)存,當內(nèi)存超過設(shè)定的警報值時,獲取所有進程占用內(nèi)存并發(fā)出警報聲,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06Python Jupyter Notebook顯示行數(shù)問題的解決
這篇文章主要介紹了Python Jupyter Notebook顯示行數(shù)問題的解決方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02