python讀取csv某幾列的方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線(xiàn)動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)成立于2013年,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元天河做網(wǎng)站,已為上家服務(wù),為天河各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):18980820575

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

csv是Comma-Separated Values的縮寫(xiě),是用文本文件形式儲(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類(lèi)型。這種方法要事先知道列的序號(hào),比如Age在第2列,而不能根據(jù)'Age'這個(gè)標(biāo)題查詢(xún)。這時(shí)可以采用第二種

方法:

第二種方法是使用DictReader,和reader函數(shù)類(lèi)似,接收一個(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)題查詢(xún):

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)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

本文標(biāo)題:python讀取csv某幾列的方法-創(chuàng)新互聯(lián)
URL標(biāo)題:http://muchs.cn/article42/hcghc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、關(guān)鍵詞優(yōu)化微信公眾號(hào)、ChatGPT、服務(wù)器托管、品牌網(wǎng)站建設(shè)

廣告

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

綿陽(yáng)服務(wù)器托管