М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения


Глава 16 • Загрузка данных >>>  from datetime import datetime



Pdf көрінісі
бет256/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   252   253   254   255   256   257   258   259   ...   334
Байланысты:
Изучаем Python

352
Глава 16 • Загрузка данных
>>> 
from datetime import datetime
>>> 
first_date = datetime.strptime('2018-07-01', '%Y-%m-%d')
>>> 
print(first_date)
2018-07-01 00:00:00
Сначала необходимо импортировать класс 
datetime
из модуля 
datetime
. Затем 
вызывается метод 
strptime()
, первый аргумент которого содержит строку с датой. 
Второй аргумент сообщает Python, как отформатирована дата. В данном примере 
значение 
'%Y-'
сообщает Python, что часть строки, предшествующая первому 
дефису, должна интерпретироваться как год из четырех цифр; 
'%m-'
приказывает 
Python интерпретировать часть строки перед вторым дефисом как число, представ-
ляющее месяц; наконец, 
'%d'
приказывает Python интерпретировать последнюю 
часть строки как день месяца от 1 до 31.
Метод 
strptime()
может получать различные аргументы, которые описывают, как 
должна интерпретироваться запись даты. В табл. 16.1 перечислены некоторые из 
таких аргументов.
Таблица 16.1.
Аргументы форматирования даты и времени из модуля datetime
Аргумент
Описание
%A
Название дня недели (например, Monday)
%B
Название месяца (например, January)
%m
Порядковый номер месяца (от 01 до 12)
%d
День месяца (от 01 до 31)
%Y
Год из четырех цифр (например, 2019)
%y
Две последние цифры года (например, 19)
%H
Часы в 24-часовом формате (от 00 до 23)
%I
Часы в 12-часовом формате (от 01 до 12)
%p
AM или PM
%M
Минуты (от 00 до 59)
%S
Секунды (от 00 до 61)
Представление дат на диаграмме
Научившись обрабатывать данные в файлах CSV, вы сможете улучшить диаграмму 
температурных данных. Для этого мы извлечем из файла даты ежедневных макси-
мумов и передадим даты и максимумы функции 
plot()
:
sitka_highs.py
import csv
from datetime import datetime
from matplotlib import pyplot as plt
filename = 'data/sitka_weather_07-2018_simple.csv'
with open(filename) as f:


Формат CSV
353
reader = csv.reader(f)
header_row = next(reader)
# Чтение дат и максимальных температур из файла.

dates, highs = [], []
for row in reader:

current_date = datetime.strptime(row[2], "%Y-%m-%d")
high = int(row[5])
dates.append(current_date)
highs.append(high)
# Нанесение данных на диаграмму.
plt.style.use('seaborn')
fig, ax = plt.subplots()

ax.plot(dates, highs, c='red')
# Форматирование диаграммы.
plt.title("Daily high temperatures, July 2018", fontsize=24)
plt.xlabel('', fontsize=16)

fig.autofmt_xdate()
plt.ylabel("Temperature (F)", fontsize=16)
plt.tick_params(axis='both', which='major', labelsize=16)
plt.show()
Мы создаем два пустых списка для хранения дат и температурных максимумов из 
файла 

. Затем программа преобразует данные, содержащие информацию даты 
(
row[2]
), в объект 
datetime

, который присоединяется к 
dates
. Значения дат 
и температурных максимумов передаются 
plot()
в точке 

. Вызов 
fig.autofmt_
xdate()
в точке 

выводит метки дат по диагонали, чтобы они не перекрывались. 
На рис. 16.2 изображена новая версия графика.


Достарыңызбен бөлісу:
1   ...   252   253   254   255   256   257   258   259   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет