溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python處理csv文件

發(fā)布時(shí)間:2020-05-15 00:23:16 來(lái)源:網(wǎng)絡(luò) 閱讀:1834 作者:Python熱愛(ài)者 欄目:編程語(yǔ)言

CSV(Comma-Separated Values)即逗號(hào)分隔值,可以用Excel打開(kāi)查看。由于是純文本,任何編輯器也都可打開(kāi)。與Excel文件不同,CSV文件中:

值沒(méi)有類(lèi)型,所有值都是字符串

不能指定字體顏色等樣式

不能指定單元格的寬高,不能合并單元格

沒(méi)有多個(gè)工作表

不能嵌入圖像圖表

在CSV文件中,以,作為分隔符,分隔兩個(gè)單元格。像這樣a,,c表示單元格a和單元格c之間有個(gè)空白的單元格。依此類(lèi)推。

不是每個(gè)逗號(hào)都表示單元格之間的分界。所以即使CSV是純文本文件,也堅(jiān)持使用專(zhuān)門(mén)的模塊進(jìn)行處理。Python內(nèi)置了csv模塊。先看看一個(gè)簡(jiǎn)單的例子。

從CSV文件中讀取數(shù)據(jù)


Python處理csv文件

data不能直接打印,list(data)最外層是list,里層的每一行數(shù)據(jù)都在一個(gè)list中,有點(diǎn)像這樣

[['name','age'], ['Bob','14'], ['Tom','23'], ...]

于是我們可以這樣訪(fǎng)問(wèn)到Bob的年齡reader[1][1], 在for循環(huán)中遍歷如下


Python處理csv文件

截取一部分輸出


Python處理csv文件

前面的數(shù)字是行號(hào),從1開(kāi)始,可以用reader.line_num獲取。

要注意的是,reader只能被遍歷一次。由于reader是可迭代對(duì)象,可以使用next方法一次獲取一行。


Python處理csv文件

寫(xiě)數(shù)據(jù)到csv文件中

有reader可以讀取,當(dāng)然也有writer可以寫(xiě)入。一次寫(xiě)入一行,一次寫(xiě)入多行都可以。


Python處理csv文件

如果不指定newline='',則每寫(xiě)入一行將有一空行被寫(xiě)入。上面的代碼生成如下內(nèi)容。


Python處理csv文件

DictReader和DictWriter對(duì)象

使用DictReader可以像操作字典那樣獲取數(shù)據(jù),把表的第一行(一般是標(biāo)頭)作為key??稍L(fǎng)問(wèn)每一行中那個(gè)某個(gè)key對(duì)應(yīng)的數(shù)據(jù)。


Python處理csv文件

使用DictWriter類(lèi),可以寫(xiě)入字典形式的數(shù)據(jù),同樣鍵也是標(biāo)頭(表格第一行)。


Python處理csv文件


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI