Если файл, открытый для чтения, привязан к имени переменной, скажем fin
; и при условии, что вы используете Python 2.6, и вы знаете, что файл не пустой (по крайней мере, содержит строку с заголовками):
import csv
rd = csv.reader(fin)
headers = next(rd)
for data in rd:
...process data and headers...
В Python 2.5 используйте headers = rd.next()
вместо headers = next(rd)
.
В этих версиях используется список полей data
, который является полностью общим решением (т. Е. Вам не нужно заранее знать, сколько столбцов в файле: вы будете обращаться к ним как data[0]
, data[1]
и т. Д., И текущая строка имеет поля len(data)
на каждом участке цикла).
Если вы знаете, что файл содержит ровно три столбца и предпочитаете использовать отдельные имена для переменной на столбец, измените заголовок цикла на:
for name, sales, department in rd:
Данные поля, возвращаемые читателем (как заголовки), являются строками. Например, если вы знаете, что второй столбец имеет тип int, и хотите обрабатывать его как таковой, начните цикл с
for data in rd:
data[1] = int(data[1])
или, если вы используете вариант именованных переменных:
for name, sales, department in rd:
sales = int(sales)