Извлечение и чтение данных

We use cookies. Read the Privacy and Cookie Policy

Итак, нужные столбцы данных известны; попробуем прочитать часть этих данных. Начнем с чтения максимальной температуры за каждый день:

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]

Следующим шагом станет построение визуализации этих данных.