Извлечение и чтение данных
Итак, нужные столбцы данных известны; попробуем прочитать часть этих данных. Начнем с чтения максимальной температуры за каждый день:
highs_lows.py
import csv
# Чтение максимальных температур из файла.
filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
(1) . .highs = []
(2) . .for row in reader:
(3) . . . .highs.append(row[1])
. . . .
. .print(highs)
Программа создает пустой список с именем highs (1) и перебирает остальные строки в файле (2). Объект reader продолжает с того места, на котором он остановился в ходе чтения файла CSV, и автоматически возвращает каждую строку после текущей позиции. Так как заголовок уже прочитан, цикл продолжается со второй строки, в которой начинаются фактические данные. При каждом проходе цикла значение с индексом 1 (второй столбец) присоединяется к списку highs (3).
В результате будет получен список highs со следующим содержимым:
['64', '71', '64', '59', '69', '62', '61', '55', '57', '61', '57', '59', '57',
'61', '64', '61', '59', '63', '60', '57', '69', '63', '62', '59', '57', '57',
'61', '59', '61', '61', '66']
Мы извлекли максимальную температуру для каждого дня и аккуратно сохранили полученные данные в строковом формате в списке.
Затем преобразуем строки в числа при помощи функции int(), чтобы данные можно было передать matplotlib:
highs_lows.py
...
highs = []
for row in reader:
(1) . . . .high = int(row[1])
. . . .highs.append(high)
. . . .
print(highs)
Строки преобразуются в целые числа в точке (1) перед добавлением температур в список. Результат представляет собой список максимальных температур в числовом формате:
[64, 71, 64, 59, 69, 62, 61, 55, 57, 61, 57, 59, 57, 61, 64, 61, 59, 63, 60, 57,
69, 63, 62, 59, 57, 57, 61, 59, 61, 61, 66]
Следующим шагом станет построение визуализации этих данных.