2015-06-08 1 views

ответ

2

Вы можете преобразовать объект чтения CSV в список списков ... Строки хранятся в виде списка, который содержит списки столбцы.

Итак:

csvr = csv.reader(file) 
csvr = list(csvr) 
csvr[2]  # The 3rd row 
csvr[2][3] # The 4th column on the 3rd row. 
csvr[-4][-3]# The 3rd column from the right on the 4th row from the end 
+0

Thanks Jkdc. Это сработало! – Sam

0

Вы можете сохранить счетчик для подсчета количества строк:

counter = 1 
for row in reader: 
    if counter == 3: 
     print('Interested in third row') 
    counter += 1 
0

Это один очень простой код, который будет делать эту работу, и вы можете легко сделать функцию из нее.

import csv 

target_row = 3 
target_col = 4 

with open('yourfile.csv', 'rb') as csvfile: 
    reader = csv.reader(csvfile) 
    n = 0 
    for row in reader: 
     if row == target_row: 
      data = row.split()[target_col] 
      break 

print data 
0

Вы можете использовать itertools.islice для извлечения строки данных, которые вы хотели, то индекс в него.

Обратите внимание, что строки и столбцы нумеруются от нуля, а не от одного.

import csv 
from itertools import islice 

def get_row_col(csv_filename, row, col): 
    with open(csv_filename, 'rb') as f: 
     return next(islice(csv.reader(f), row, row+1))[col] 
Смежные вопросы