Istnieje wiele przykładów odczytu danych CSV za pomocą Pythona, takich jak ten:
import csv
with open('some.csv', newline='') as f:
reader = csv.reader(f)
for row in reader:
print(row)
Chcę tylko przeczytać jedną linię danych i wprowadzić ją do różnych zmiennych. Jak mogę to zrobić? Szukałem wszędzie działającego przykładu.
Mój kod pobiera tylko wartość dla i, a żadne inne wartości
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
gdy przechodzisz przez czytnik?Odpowiedzi:
Aby odczytać tylko pierwszy wiersz pliku csv, użyj
next()
obiektu czytnika.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)
lub:
with open('some.csv', newline='') as f: reader = csv.reader(f) for row in reader: # do something here with `row` break
źródło
możesz uzyskać tylko pierwszy wiersz, na przykład:
with open('some.csv', newline='') as f: csv_reader = csv.reader(f) csv_headings = next(csv_reader) first_line = next(csv_reader)
źródło
Możesz użyć biblioteki Pandas, aby przeczytać kilka pierwszych wierszy z ogromnego zbioru danych.
import pandas as pd data = pd.read_csv("names.csv", nrows=1)
Możesz wspomnieć o liczbie wierszy do odczytania w parametrze nrows.
źródło
Z dokumentacji Pythona :
import csv for row in csv.reader(['one,two,three']): print row
Po prostu upuść dane ciągu na listę singletonów.
źródło
Prosty sposób na uzyskanie dowolnego wiersza w pliku csv
import csv csvfile = open('some.csv','rb') csvFileArray = [] for row in csv.reader(csvfile, delimiter = '.'): csvFileArray.append(row) print(csvFileArray[0])
źródło
delimiter='.'
.break
po znaku,csvFileArray.append(row)
a zostanie odczytany tylko pierwszy wiersz.Dla porównania,
for
po pobraniu pierwszego wiersza można użyć pętli, aby pobrać resztę pliku: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
źródło
źródło