Как читать одну строку данных csv в Python?
Существует много примеров чтения данных csv с использованием python, например:
import csv
with open('some.csv', newline='') as f:
reader = csv.reader(f)
for row in reader:
print(row)
Я хочу только прочитать одну строку данных и ввести ее в различные переменные. Как мне это сделать? Я повсюду смотрел рабочий пример.
Мой код только извлекает значение для i, и ни одно из других значений
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])
Ответы
Ответ 1
Чтобы прочитать только первую строку файла csv, используйте next()
объект-читатель.
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)
или:
with open('some.csv', newline='') as f:
reader = csv.reader(f)
for row in reader:
# do something here with `row`
break
Ответ 2
Вы можете получить только первый ряд, как:
with open('some.csv', newline='') as f:
csv_reader = csv.reader(f)
csv_headings = next(csv_reader)
first_line = next(csv_reader)
Ответ 3
Вы можете использовать библиотеку Pandas для чтения первых нескольких строк из огромного набора данных.
import pandas as pd
data = pd.read_csv("names.csv", nrows=1)
Вы можете указать количество строк для чтения в параметре nrows.
Ответ 4
Из Документация по Python:
И хотя модуль напрямую не поддерживает разбор строк, его можно легко выполнить:
import csv
for row in csv.reader(['one,two,three']):
print row
Просто отбросьте свои строковые данные в один список.
Ответ 5
Простой способ получить любую строку в файле csv
import csv
csvfile = open('some.csv','rb')
csvFileArray = []
for row in csv.reader(csvfile, delimiter = '.'):
csvFileArray.append(row)
print(csvFileArray[0])