您好,登錄后才能下訂單哦!
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ù)
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)中遍歷如下
截取一部分輸出
前面的數(shù)字是行號(hào),從1開(kāi)始,可以用reader.line_num獲取。
要注意的是,reader只能被遍歷一次。由于reader是可迭代對(duì)象,可以使用next方法一次獲取一行。
寫(xiě)數(shù)據(jù)到csv文件中
有reader可以讀取,當(dāng)然也有writer可以寫(xiě)入。一次寫(xiě)入一行,一次寫(xiě)入多行都可以。
如果不指定newline='',則每寫(xiě)入一行將有一空行被寫(xiě)入。上面的代碼生成如下內(nèi)容。
DictReader和DictWriter對(duì)象
使用DictReader可以像操作字典那樣獲取數(shù)據(jù),把表的第一行(一般是標(biāo)頭)作為key??稍L(fǎng)問(wèn)每一行中那個(gè)某個(gè)key對(duì)應(yīng)的數(shù)據(jù)。
使用DictWriter類(lèi),可以寫(xiě)入字典形式的數(shù)據(jù),同樣鍵也是標(biāo)頭(表格第一行)。
免責(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)容。