Байланысты: Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )
ПРИМЕЧАНИЕ Погодные данные для этого проекта были загружены с сайта http://www .wunderground .com/history/ .
Разбор заголовка файлов CSV
Модуль Python
csv
из стандартной библиотеки разбирает строки файла CSV и по-
зволяет быстро извлечь нужные значения. Начнем с первой строки файла, которая
содержит серию заголовков данных:
highs_lows.py import csv
filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
print(header_row)
После импортирования модуля
csv
имя обрабатываемого файла сохраняется
в переменной
filename
. Затем файл открывается, а полученный объект сохраняется
в переменной
f
. Далее программа вызывает метод
csv.reader()
и передает ему
объект файла в аргументе, чтобы создать объект чтения данных для этого файла
.
Объект чтения данных сохраняется в переменной
reader
.
Модуль
csv
содержит функцию
next()
, которая возвращает следующую строку
файла для полученного объекта чтения данных. В следующем листинге функция
next()
вызывается только один раз для получения первой строки файла, содержа-
щей заголовки
. Возвращенные данные сохраняются в
header_row
. Как видите,
header_row
содержит осмысленные имена заголовков, которые сообщают, какая
информация содержится в каждой строке данных:
['AKDT', 'Max TemperatureF', 'Mean TemperatureF', 'Min TemperatureF',
'Max Dew PointF', 'MeanDew PointF', 'Min DewpointF', 'Max Humidity',
' Mean Humidity', ' Min Humidity', ' Max Sea Level PressureIn',
' Mean Sea Level PressureIn', ' Min Sea Level PressureIn',
' Max VisibilityMiles', ' Mean VisibilityMiles', ' Min VisibilityMiles',
' Max Wind SpeedMPH', ' Mean Wind SpeedMPH', ' Max Gust SpeedMPH',
'PrecipitationIn', ' CloudCover', ' Events', ' WindDirDegrees']
Объект
reader
обрабатывает первую строку значений, разделенных запятыми, и со-
храняет все значения в строке в списке. Заголовок
AKDT
означает «Alaska Daylight
Time» (Аляска, летнее время). Позиция заголовка указывает на то, что первым
значением в каждой из следующих строк является дата или время. Заголовок
Max
TemperatureF
сообщает, что второе значение в каждой строке содержит максималь-
ную температуру в этот день по шкале Фаренгейта. По именам заголовков можно
определить, какая информация хранится в файле.