python csv使用_python CSV模块的使用
簡(jiǎn)介
CSV(comma separated values),逗號(hào)分隔值(字符分割值,字符可以不是逗號(hào)),常用的文本格式,用以存儲(chǔ)表格數(shù)據(jù),包括數(shù)字或者字符。kaggle就是csv格式,python有內(nèi)置的csv模塊。
csv中的函數(shù)
1、reader(csvfile,dialect='excel',**fmtparams)
csvfile,必須是支持迭代(Iterator)的對(duì)象,可以是文件(file)對(duì)象或者列表(list)對(duì)象,如果是文件對(duì)象,打開時(shí)需要加"b"標(biāo)志參數(shù)。
dialect,編碼風(fēng)格,默認(rèn)為excel的風(fēng)格,也就是用逗號(hào)(,)分隔,dialect方式也支持自定義,通過調(diào)用register_dialect方法來(lái)注冊(cè)。
fmtparam,格式化參數(shù),用來(lái)覆蓋之前dialect對(duì)象指定的編碼風(fēng)格。
importcsv
with open("test.csv","rb") as myfile:
lines=csv.reader(myfile)for line inlines:print line
lines是list,調(diào)用lines,next()函數(shù),會(huì)返回一個(gè)string。
line是列表,元素是csv用逗號(hào)分隔得來(lái)的。
輸出結(jié)果:
reader對(duì)象還提供一些方法:line_num、dialect、next()
2、writer(csvfile,dialect='excel',**fmtparams)
with open('test.csv','wb') as myfile:
mywriter=csv.writer(myfile);
mywriter.writerow([7,'g'])
mywriter.writerow([8,'h'])
mylist= [[1,2,3],[4,5,6]
mywriter.writerows(mylist)
writerow是一行一行寫;writerows是一次寫多行。
如果test.csv事先存在,就會(huì)調(diào)用writer函數(shù)清空原來(lái)文件的內(nèi)容,再開始寫;沒存在,就創(chuàng)建它,writer函數(shù)返回myfile文件。
補(bǔ)充:除了writerow、writerows,writer對(duì)象還提供了其他一些方法:writeheader、dialect
3、register_dialect(name,[dialect,],**fmtparams)
name,你所自定義的dialect的名字,比如默認(rèn)的是'excel',你可以定義成'mydialect'。
[dialect, ]**fmtparams,dialect格式參數(shù),有delimiter(分隔符,默認(rèn)的就是逗號(hào))、quotechar、quoting等等
csv.register_dialect('mydialect',delimiter='|', quoting=csv.QUOTE_ALL)
上面代碼自定義了一個(gè)命名為mydialect的dialect,參數(shù)是設(shè)置了delimiter和quoting這兩個(gè),其他的采用默認(rèn)值,其中分隔符是'|'。
效果,在csv中存儲(chǔ)數(shù)據(jù):
以mydialect風(fēng)格打印:
with open('text.csv','rb') as myfile:
lines= csv.reader(myfile,'mydialect')for line inlines:print line
輸出:
對(duì)于writer函數(shù),同樣可以傳入mydialect作為參數(shù)。
4、unregister_dialect(name)
用于注銷自定義的dialect。
此外,csv模塊還提供get_dialect(name)、list_dialects()、field_size_limit([new_limit])等函數(shù)。
csv模塊還定義了
一些類:DictReader、DictWriter、Dialect等,DictReader和DictWriter類似于reader和writer。
一些常量:QUOTE_ALL、QUOTE_MINIMAL、.QUOTE_NONNUMERIC等,這些常量可以作為Dialects and Formatting Parameters的值。
總結(jié)
以上是生活随笔為你收集整理的python csv使用_python CSV模块的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 易语言-万挂作坊4.X下载,有图有真相
- 下一篇: pythonspark实例_spark+