Existem muitos exemplos de leitura de dados csv usando python, como este:
import csv
with open('some.csv', newline='') as f:
reader = csv.reader(f)
for row in reader:
print(row)
Quero apenas ler uma linha de dados e inseri-los em várias variáveis. Como faço isso? Procurei em todos os lugares por um exemplo funcional.
Meu código recupera apenas o valor de i e nenhum dos outros 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
quando você está iterando através do leitor?Respostas:
Para ler apenas a primeira linha do arquivo csv, use
next()
no objeto leitor.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)
ou:
with open('some.csv', newline='') as f: reader = csv.reader(f) for row in reader: # do something here with `row` break
fonte
você poderia obter apenas a primeira linha como:
with open('some.csv', newline='') as f: csv_reader = csv.reader(f) csv_headings = next(csv_reader) first_line = next(csv_reader)
fonte
Você pode usar a biblioteca Pandas para ler as primeiras linhas do enorme conjunto de dados.
import pandas as pd data = pd.read_csv("names.csv", nrows=1)
Você pode mencionar o número de linhas a serem lidas no parâmetro nrows.
fonte
Da documentação do Python :
import csv for row in csv.reader(['one,two,three']): print row
Simplesmente coloque seus dados de string em uma lista de singleton.
fonte
A maneira simples de obter qualquer linha no arquivo csv
import csv csvfile = open('some.csv','rb') csvFileArray = [] for row in csv.reader(csvfile, delimiter = '.'): csvFileArray.append(row) print(csvFileArray[0])
fonte
delimiter='.'
.break
após ocsvFileArray.append(row)
e ele lerá apenas a primeira linha.Apenas para referência, um
for
loop pode ser usado após obter a primeira linha para obter o resto do arquivo: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
fonte
fonte