這篇文章給大家分享的是有關(guān)python怎么讀取csv文件指定行的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
肥鄉(xiāng)網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,肥鄉(xiāng)網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為肥鄉(xiāng)1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的肥鄉(xiāng)做網(wǎng)站的公司定做!Python主要應(yīng)用于:1、Web開發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲;4、嵌入式應(yīng)用開發(fā);5、游戲開發(fā);6、桌面應(yīng)用開發(fā)。
csv是Comma-Separated Values的縮寫,是用文本文件形式儲存的表格數(shù)據(jù),比如如下的表格
就可以存儲為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一樣提取其中的一行,也就是一條記錄,利用Python自帶的csv模塊,有2種方法可以實現(xiàn):
第一種方法使用reader函數(shù),接收一個可迭代的對象(比如csv文件),能返回一個生成器,就可以從其中解析出csv的內(nèi)容:比如下面的代碼可以讀取csv的全部內(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) for i,rows in enumerate(reader): if i == 2: row = rows print row
得到:
['2', 'Ben', '13', '97']
這種方法是通用的方法,要事先知道行號,比如Ben的記錄在第2行,而不能根據(jù)'Ben'這個名字查詢。這時可以采用第二種方法:
第二種方法是使用DictReader,和reader函數(shù)類似,接收一個可迭代的對象,能返回一個生成器,但是返回的每一個單元格都放在一個字典的值內(nèi),而這個字典的鍵則是這個單元格的標(biāo)題(即列頭)。用下面的代碼可以看到DictReader的結(jié)構(gòu):
import csv with open('A.csv','rb') as csvfile: reader = csv.DictReader(csvfile) rows = [row for row in reader] print rows
得到:
[{'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) for row in reader: if row['Name']=='Ben': print row
就得到:
{'Age': '13', 'No.': '2', 'Score': '97', 'Name': 'Ben'}
可見,DictReader很適合讀取csv的的行(記錄)。
感謝各位的閱讀!關(guān)于“python怎么讀取csv文件指定行”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。