在python中讀取和寫入CSV文件詳情
前言
CSV(Comma-Separated Values)即逗號(hào)分隔值,一種以逗號(hào)分隔按行存儲(chǔ)的文本文件,所有的值都表現(xiàn)為字符串類型(注意:數(shù)字為字符串類型)。如果CSV中有中文,應(yīng)以u(píng)tf-8編碼讀寫.
1.導(dǎo)入CSV庫
python中對(duì)csv文件有自帶的庫可以使用,當(dāng)我們要對(duì)csv文件進(jìn)行讀寫的時(shí)候直接導(dǎo)入即可。
import csv
2.對(duì)CSV文件進(jìn)行讀寫
2.1 用列表形式寫入CSV文件
語法:csv.writer(f):
writer支持writerow(列表)單行寫入,和writerows(嵌套列表)批量寫入多行,無須手動(dòng)保存。
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è)置第一行標(biāo)題頭
writer.writerow(header)
# 將數(shù)據(jù)寫入
writer.writerows(data)結(jié)果:

注意:打開文件時(shí)應(yīng)指定格式為w, 文本寫入.
打開文件時(shí),指定不自動(dòng)添加新行newline=‘’,否則每寫入一行就或多一個(gè)空行。
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)
# 獲取標(biāo)題
header = next(reader)
print(header)
# 遍歷數(shù)據(jù)
for i in reader:
print(i)結(jié)果:

讀取文件時(shí)文件路徑務(wù)必要寫對(duì),不確定時(shí)可寫絕對(duì)路徑。要獲取csv的內(nèi)容則需要遍歷再輸出。
2.3 用字典形式寫入csv文件
語法:csv.DicWriter(f):
寫入時(shí)可使用writeheader()寫入標(biāo)題,然后使用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)
# 寫入標(biāo)題
writer.writeheader()
# 將數(shù)據(jù)寫入
writer.writerows(data)結(jié)果:

2.4 用字典形式讀取csv文件
語法:csv.DicReader(f, delimiter=‘,’)
直接將標(biāo)題和每一列數(shù)據(jù)組裝成有序字典(OrderedDict)格式,無須再單獨(dú)讀取標(biāo)題行
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+:以讀寫方式打開文件,可對(duì)文件進(jìn)行讀和寫操作
- w+:消除文件內(nèi)容,以讀寫方式打開文件
- a+:以讀寫方式打開文件,文件指針移至末尾
- b:以二進(jìn)制打開文件
結(jié)語
到此這篇關(guān)于在python中讀取和寫入CSV文件詳情的文章就介紹到這了,更多相關(guān)python讀寫CSV文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?Playwright進(jìn)行常見的頁面交互操作
在使用?Playwright?進(jìn)行?Web?自動(dòng)化時(shí),頁面交互是核心操作之一,本文將詳細(xì)介紹如何使用?Playwright?進(jìn)行常見的頁面交互操作,希望對(duì)大家有所幫助2024-10-10
Python利用VideoCapture讀取視頻或攝像頭并進(jìn)行保存
這篇文章主要為大家介紹一下OpenCV中cv2.VideoCapture函數(shù)的使用,并利用cv2.VideoCapture讀取視頻或攝像頭以及進(jìn)行保存幀圖像或視頻,感興趣的小伙伴可以了解一下2022-07-07
Python使用面向?qū)ο蠓绞絼?chuàng)建線程實(shí)現(xiàn)12306售票系統(tǒng)
目前python 提供了幾種多線程實(shí)現(xiàn)方式 thread,threading,multithreading ,其中thread模塊比較底層,而threading模塊是對(duì)thread做了一些包裝,可以更加方便的被使用2015-12-12
基于Python繪制一個(gè)會(huì)動(dòng)的3D立體粽子
下周就要到端午節(jié)了,所以本文小編就來和大家分享一個(gè)有趣的Python項(xiàng)目——繪制會(huì)動(dòng)的3D立體粽子,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-06-06
基于python if 判斷選擇結(jié)構(gòu)的實(shí)例詳解
代碼執(zhí)行結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。這篇文章主要介紹了python if 判斷選擇結(jié)構(gòu)的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
Python調(diào)用C語言的方法【基于ctypes模塊】
這篇文章主要介紹了Python調(diào)用C語言的方法,涉及Python基于ctypes模塊調(diào)用C語言編譯后的動(dòng)態(tài)鏈接庫文件相關(guān)操作技巧,需要的朋友可以參考下2018-01-01

