python讀取csv某幾列的方法

小編給大家分享一下python讀取csv某幾列的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)公司專注于奉化網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供奉化營(yíng)銷型網(wǎng)站建設(shè),奉化網(wǎng)站制作、奉化網(wǎng)頁(yè)設(shè)計(jì)、奉化網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造奉化網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供奉化網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

csv是Comma-Separated Values的縮寫,是用文本文件形式儲(chǔ)存的表格數(shù)據(jù),比如如下的表格:

就可以存儲(chǔ)為csv文件,文件內(nèi)容是:

No.,Name,Age,Score
1,Apple,12,98
2,Ben,13,97
3,Celia,14,96
4,Dave,15,95


假設(shè)上述csv文件保存為"A.csv",如何用Python像操作Excel一樣提取其中的一列,即一個(gè)字段,利用Python自帶的csv模塊,有兩種方

法可以實(shí)現(xiàn):

第一種方法使用reader函數(shù),接收一個(gè)可迭代的對(duì)象(比如csv文件),能返回一個(gè)生成器,就可以從其中解析出csv的內(nèi)容:比如下面的

代碼可以讀取csv的全部?jī)?nèi)容,以行為單位:import csv

with open('A.csv','rb') as csvfile:
    reader = csv.reader(csvfile)
    rows= [row for row in reader]
print rows得到:[['No.', 'Name', 'Age', 'Score'],
['1', 'Apple', '12', '98'],
['2', 'Ben', '13', '97'],
['3', 'Celia', '14', '96'],
['4', 'Dave', '15', '95']]

要提取其中某一列,可以用下面的代碼:

import csv
with open('A.csv','rb') as csvfile:
    reader = csv.reader(csvfile)
    column = [row[2] for row in reader]
print column得到:['Age', '12', '13', '14', '15']

注意從csv讀出的都是str類型。這種方法要事先知道列的序號(hào),比如Age在第2列,而不能根據(jù)'Age'這個(gè)標(biāo)題查詢。這時(shí)可以采用第二種

方法:

第二種方法是使用DictReader,和reader函數(shù)類似,接收一個(gè)可迭代的對(duì)象,能返回一個(gè)生成器,但是返回的每一個(gè)單元格都放在一個(gè)

字典的值內(nèi),而這個(gè)字典的鍵則是這個(gè)單元格的標(biāo)題(即列頭)。用下面的代碼可以看到DictReader的結(jié)構(gòu):

import csv
with open('A.csv','rb') as csvfile:
    reader = csv.DictReader(csvfile)
    column = [row for row in reader]
print column得到:[{'Age': '12', 'No.': '1', 'Score': '98', 'Name': 'Apple'},
{'Age': '13', 'No.': '2', 'Score': '97', 'Name': 'Ben'},
{'Age': '14', 'No.': '3', 'Score': '96', 'Name': 'Celia'},
{'Age': '15', 'No.': '4', 'Score': '95', 'Name': 'Dave'}]

如果我們想用DictReader讀取csv的某一列,就可以用列的標(biāo)題查詢:

import csv
with open('A.csv','rb') as csvfile:
    reader = csv.DictReader(csvfile)
    column = [row['Age'] for row in reader]
print column

就得到:

['12', '13', '14', '15']

看完了這篇文章,相信你對(duì)python讀取csv某幾列的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

當(dāng)前題目:python讀取csv某幾列的方法
文章轉(zhuǎn)載:http://muchs.cn/article10/jcjdgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPTApp設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)網(wǎng)站設(shè)計(jì)公司、網(wǎng)站策劃、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作