View in Telegram
Доброе утро, дорогие подписчики!☀️ Сегодня будет вторая часть поста про JSON, и мы начнём с небольшого примера на Python. Рассмотрим сайт https://sunrise-sunset.org/ С его помощью можно узнать по координате (широта/latitude - долгота/longitude), во сколько происходит закат и рассвет.🌆 На большинстве сайтов можно найти описание того, как работать с API в рамках этого сайта (т.е. как подключиться к нему с помощью, например, Python и вытащить интересующую информацию, чтобы не делать ctrl+C - ctrl+V множество раз). Например, на этом сайте достаточно кликнуть на графу Free API! внизу стартовой страницы. Узнаем с помощью Python, во сколько сегодня восходит и заходит Солнце в Москве. Для этого загуглим координаты Москвы, запишем долготу и широту, а также дату в словарь params и с помощью библиотеки requests получим результат в формате JSON.🔥
import requests

URL = 'https://api.sunrise-sunset.org/json'

params = {
    'lat': 55.7565408,
    'lng': 37.6149202,
    'date': '2025-01-07'
}

sun_r_s = requests.get(URL, params=params)
sun_r_s.json()
Получим следующий результат:
{'results': {'sunrise': '5:53:43 AM',
  'sunset': '1:18:02 PM',
  'solar_noon': '9:35:52 AM',
  'day_length': '07:24:19',
  'civil_twilight_begin': '5:10:42 AM',
  'civil_twilight_end': '2:01:02 PM',
  'nautical_twilight_begin': '4:22:50 AM',
  'nautical_twilight_end': '2:48:54 PM',
  'astronomical_twilight_begin': '3:38:00 AM',
  'astronomical_twilight_end': '3:33:45 PM'},
 'status': 'OK',
 'tzid': 'UTC'}
Как видим, выдаётся не только восход/закат, но и "сумерки", и другие астрономические отметки во времени⌛️ А при чём же здесь SQL, спросите вы? В некоторых базах данных в рамках одной ячейки таблицы может храниться не скалярное (т.е. единичное) значение, но и векторный тип данных, среди которых можно встретить не только списки и кортежи, но и JSON'ы. Особенно это относится к ныне популярному Clickhouse - вот ссылка на функции Clickhouse по работе с JSON. Например, добавим столбец с годом рождения в нашу таблицу из прошлого поста (111, "Иван", 1992) (112, "Виктор", 1985) (113, "Ксения", 2003) Вместо таблицы с тремя столбцами можем перейти обратно к двум столбцам, свернув имя и год рождения в JSON: (111, {"name":"Иван", "birth_year":"1992"}) (112, {"name":"Виктор", "birth_year":"1985"}) (113, {"name":"Ксения", "birth_year":"2003"}) Разумеется, две колонки хранить дешевле, чем три🙂 Пишите в комментариях, хотели бы вы продолжение разговора про этот тип данных?🤓 #data_analysis #аналитика #sql #clickhouse #year25
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily