Cómo encontrar una fila específica en el módulo CSV de Python

Necesito encontrar la tercera fila desde la columna 4 hasta el final del archivo CSV. ¿Como podría hacerlo? Sé que puedo encontrar los valores de la cuarta columna con la fila [3] pero, ¿cómo obtengo específicamente la tercera fila?

Podría convertir el objeto lector csv en una lista de listas … Las filas se almacenan en una lista, que contiene listas de las columnas.

Asi que:

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 

Puede usar itertools.islice para extraer la fila de datos que desea, y luego indexarla.

Tenga en cuenta que las filas y columnas están numeradas desde cero, no una.

 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] 

Puedes mantener un contador para contar el número de filas:

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

Este es un código muy básico que hará el trabajo y usted puede fácilmente hacer una función con él.

 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