Python培訓(xùn)csv模塊
2021-11-22點(diǎn)擊量:411
Python中的csv模塊1.csv模塊說(shuō)明:1.1默認(rèn)讀寫(xiě)用逗號(hào)做分隔符(delimiter),雙引號(hào)作引用符(quotechar)1.2用writer寫(xiě)數(shù)據(jù)None被寫(xiě)成空字符串,浮點(diǎn)型調(diào)用repr()轉(zhuǎn)化成字符串。非字符串型數(shù)據(jù)被str()成字符串存儲(chǔ)。1.3open函數(shù)importlocale;locale.getpreferredencoding()#查看本地編碼'cp936'open('some.csv',newline='',encoding='utf-8')#使用系統(tǒng)默認(rèn)編碼將文件解碼為unicode可使用不同的編碼解碼文件#如果newline=''沒(méi)有指定,嵌入引用字段內(nèi)換行符將不會(huì)被正確地解釋4)RFC4180提供了一些標(biāo)準(zhǔn):#內(nèi)容為純文本;包含記錄#每條記錄是用單個(gè)分隔字符將各屬性分隔#每條記錄的屬性序列是相同的pandas可以通過(guò)PyPI的pip安裝。2.模塊內(nèi)容2.1模塊常量:引用約定quoting=csv.QUOTE_MINIMAL=0#writer對(duì)象只引用那些包含特殊字符quoting=csv.QUOTE_ALL=1#writer對(duì)象引用所有字段#如字段分隔符,quotechar或任何字符lineterminator。quoting=csv.QUOTE_NONNUMERIC=2#writer對(duì)象引用所有非數(shù)字字段。#指示讀者將所有非引用字段轉(zhuǎn)換為float類(lèi)型。quoting=csv.QUOTE_NONE=3,escapechar='$'#writer對(duì)象不引用字段#如未設(shè)置escapechar錯(cuò)誤拋出;指示reader不對(duì)引號(hào)字符執(zhí)行特殊處理。2.21.函數(shù):csv.reader(f,dialect='excel',**fmtparams)#返回一個(gè)讀取器對(duì)象,它將迭代給定csv文件中的行。#屬性:csv.reader().dialectcsv.reader().line_numcsv.writer(f,dialect='excel',**fmtparams)#返回一個(gè)編寫(xiě)器對(duì)象,負(fù)責(zé)將用戶的數(shù)據(jù)轉(zhuǎn)換為給定類(lèi)文件對(duì)象上的分隔字符串#屬性方法:writer.writerowwriter.writerowswriter.dialectcsv.DictReader()#字典讀#方法:csv.DictReader().__next__()#稱(chēng)之為next(reader)#屬性:csvreader.dialect#解析器使用的方言的只讀描述。csvreader.line_num#從源迭代器讀取的行數(shù)。這與返回的記錄數(shù)不同,因?yàn)橛涗浛梢钥缭蕉嘈小svreader.fieldnames#從文件中讀取第一條記錄時(shí)初始化此屬性csv.DictWriter()#方法:csvwriter.writerow(row)#將row寫(xiě)入writer的文件對(duì)象,根據(jù)當(dāng)前方言進(jìn)行格式化。支持迭代csvwriter.writerows(rows)#將行中的所有元素寫(xiě)入編寫(xiě)器的文件對(duì)象,并根據(jù)當(dāng)前方言進(jìn)行格式化。支持迭代DictWriter.writeheader()#公共方法:用字段名稱(chēng)寫(xiě)一行#屬性:csvwriter.dialect#使用的方言只讀描述#返回所有已注冊(cè)方言的名稱(chēng)。#數(shù)據(jù)讀取#importcsv#withopen(r'C:\Users\Alienware\Desktop\test.csv','r')asf:#all=csv.reader(f)#讀取所有數(shù)據(jù)返回一個(gè)csv對(duì)象#print(type(all))#foriinall:#遍歷csv對(duì)象返回csv文件中的所有數(shù)據(jù)list類(lèi)型#print(i)#數(shù)據(jù)寫(xiě)入importcsv#newline=''表示新行用空字符表示這樣換行寫(xiě)入數(shù)據(jù)時(shí)就不會(huì)出現(xiàn)空行withopen(r'C:\Users\Alienware\Desktop\test.csv','a',newline='')asf:all=csv.writer(f)#傳入列表類(lèi)型的數(shù)據(jù)第一個(gè)元素對(duì)應(yīng)第一列第二個(gè)元素對(duì)應(yīng)第二列#all.writerow(['admin',7])#一行一行寫(xiě)入all.writerows([['name','zhangsan'],['class','baoan10']])#多行寫(xiě)入本文由培訓(xùn)無(wú)憂網(wǎng)千鋒教育專(zhuān)屬課程顧問(wèn)整理發(fā)布,希望能夠?qū)ο雽W(xué)習(xí)Python開(kāi)發(fā)培訓(xùn)的同學(xué)有所幫助。更多Python開(kāi)發(fā)培訓(xùn)課程歡迎關(guān)注培訓(xùn)無(wú)憂網(wǎng)Python開(kāi)發(fā)培訓(xùn)頻道或添加老師微信:15033336050...