Python 讀取csv的某行 兩種方法

2021-08-02 23:54:57 字數 1416 閱讀 5632

站長用python寫了乙個可以提取csv任一列的**,歡迎使用。github鏈結

就可以儲存為csv檔案,檔案內容是:

假設上述csv檔案儲存為"a.csv",如何用python像操作excel一樣提取其中的一行,也就是一條記錄,利用python自帶的

csv模組,有兩種方法可以實現:

第一種方法使用reader函式,接收乙個可迭代的物件(比如csv檔案),能返回乙個生成器,就可以從其中解析出csv的內容:比如下面的**可以讀取csv的全部內容,以行為單位:import csv

with open('a.csv','rb') as csvfile:

reader = csv.reader(csvfile)

rows = [row for row in reader]

print rows得到:

要提取其中第二行,可以用下面的**:

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行,而不能根據'ben'這個名字查詢。這時可以採用第二種方法:

第二種方法是使用dictreader,和reader函式類似,接收乙個可迭代的物件,能返回乙個生成器,但是返回的每乙個單元格都放在乙個字典的值內,而這個字典的鍵則是這個單元格的標題(即列頭)。用下面的**可以看到dictreader的結構:

import csv

with open('a.csv','rb') as csvfile:

reader = csv.dictreader(csvfile)

rows = [row for row in reader]

print rows得到:

如果我們想用dictreader讀取csv的某一列,就可以用列的標題查詢:

import csv

with open('a.csv','rb') as csvfile:

reader = csv.dictreader(csvfile)

for row in reader:

if row['name']=='ben':

print row就得到:

可見,dictreader很適合讀取csv的的行(記錄)。

Python 讀取csv的某行

站長用python寫了乙個可以提取csv任一列的 歡迎使用。github鏈結 就可以儲存為csv檔案,檔案內容是 假設上述csv檔案儲存為 a.csv 如何用python像操作excel一樣提取其中的一行,也就是一條記錄,利用python自帶的 csv模組,有兩種方法可以實現 第一種方法使用read...

Python 讀取csv的某行

站長用python寫了乙個可以提取csv任一列的 歡迎使用。github鏈結 如果我們想用dictreader讀取csv的某一列,就可以用列的標題查詢 import csv with open a.csv rb as csvfile reader csv.dictreader csvfile for...

c 讀取csv到陣列 python讀取csv檔案

python讀取csv檔案 csv檔案,用記事本編輯,然後命名為test1.csv 1,2,3,4 5,6,7,8 9,10,11,12 用excel開啟,就是這樣的 使用python讀取檔案 按行讀取。然後把讀到的東西賦值給python程式中的變數。這個變數,可以是乙個列表 在這裡,是乙個2維的列...