Hay muchos ejemplos de lectura de datos csv usando python, como este:
import csv
with open('some.csv', newline='') as f:
reader = csv.reader(f)
for row in reader:
print(row)
Solo quiero leer una línea de datos e ingresarla en varias variables. ¿Cómo puedo hacer eso? He buscado en todas partes un ejemplo funcional.
Mi código solo recupera el valor de i, y ninguno de los otros valores
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in reader:
i = int(row[0])
a1 = int(row[1])
b1 = int(row[2])
c1 = int(row[2])
x1 = int(row[2])
y1 = int(row[2])
z1 = int(row[2])
row
cuando estás iterando a través del lector?Respuestas:
Para leer solo la primera fila del archivo csv, utilice
next()
el objeto del lector.with open('some.csv', newline='') as f: reader = csv.reader(f) row1 = next(reader) # gets the first line # now do something here # if first row is the header, then you can do one more next() to get the next row: # row2 = next(f)
o bien:
with open('some.csv', newline='') as f: reader = csv.reader(f) for row in reader: # do something here with `row` break
fuente
podría obtener solo la primera fila como:
with open('some.csv', newline='') as f: csv_reader = csv.reader(f) csv_headings = next(csv_reader) first_line = next(csv_reader)
fuente
Puede usar la biblioteca de Pandas para leer las primeras líneas del enorme conjunto de datos.
import pandas as pd data = pd.read_csv("names.csv", nrows=1)
Puede mencionar el número de líneas que se leerán en el parámetro nrows.
fuente
De la documentación de Python :
import csv for row in csv.reader(['one,two,three']): print row
Simplemente coloque los datos de su cadena en una lista de singleton.
fuente
La forma sencilla de obtener cualquier fila en un archivo csv
import csv csvfile = open('some.csv','rb') csvFileArray = [] for row in csv.reader(csvfile, delimiter = '.'): csvFileArray.append(row) print(csvFileArray[0])
fuente
delimiter='.'
.break
después decsvFileArray.append(row)
y solo leerá la primera línea.Solo como referencia,
for
se puede usar un bucle después de obtener la primera fila para obtener el resto del archivo:with open('file.csv', newline='') as f: reader = csv.reader(f) row1 = next(reader) # gets the first line for row in reader: print(row) # prints rows 2 and onward
fuente
fuente