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



Pdf көрінісі
бет263/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   259   260   261   262   263   264   265   266   ...   334
Байланысты:
Изучаем Python


Глава 16 • Загрузка данных
изошедшим за последние 24 часа (на момент написания книги). Данные взяты 
из одного потока данных Геологического управления США, доступных по адресу 
https://earthquake .usgs .gov/earthquakes/feed/
.
Знакомство с данными
Открыв файл 
eq_1_day_m1 .json
, вы увидите, что данные упакованы очень плотно 
и плохо читаются:
{"type":"FeatureCollection","metadata":{"generated":1550361461000,...
{"type":"Feature","properties":{"mag":1.2,"place":"11km NNE of Nor...
{"type":"Feature","properties":{"mag":4.3,"place":"69km NNW of Ayn...
{"type":"Feature","properties":{"mag":3.6,"place":"126km SSE of Co...
{"type":"Feature","properties":{"mag":2.1,"place":"21km NNW of Teh...
{"type":"Feature","properties":{"mag":4,"place":"57km SSW of Kakto...
...
Формат этого файла больше предназначен для машин, нежели для людей. Но мы 
видим, что файл содержит словари, а также информацию, которая нас интересует, 
включая магнитуды и местоположения землетрясений.
Модуль 
json
предоставляет разнообразные инструменты для анализа и обработки 
данных JSON. Некоторые из этих инструментов позволяют переформатировать 
файл, чтобы вам было удобнее работать с необработанными данными, прежде чем 
вы начнете работать с ними на программном уровне.
Для начала загрузим данные и выведем их в формате, лучше подходящем для 
чтения. Файл очень длинный, поэтому вместо того, чтобы выводить его, запишем 
данные в новый файл. После этого вы сможете открыть этот файл и прокрутить 
его к нужной позиции:
eq_explore_data.py
import json
# Изучение структуры данных.
filename = 'data/eq_data_1_day_m1.json'
with open(filename) as f:

all_eq_data = json.load(f)

readable_file = 'data/readable_eq_data.json'
with open(readable_file, 'w') as f:

json.dump(all_eq_data, f, indent=4)
Начнем с импортирования модуля 
json
, чтобы загрузить данные из файла, а затем 
сохранить весь набор данных в 
all_eq_data

. Функция 
json.load()
преобразует 
данные в формат, с которым может работать Python: в данном случае огромный 
словарь. В точке 

создается файл для записи тех же данных в более удобочитае-
мый формат. Функция 
json.dump()
получает объект данных JSON и объект файла 


Построение карт с глобальными наборами данных: формат JSON
363
и записывает данные в этот файл 

. Аргумент 
indent=4
приказывает 
dump()
фор-
матировать данные с отступами, соответствующими структуре данных.
Перейдите в каталог 
data
и откройте файл 
readable_eq_data .json
. Начальная часть 
выглядит так:


Достарыңызбен бөлісу:
1   ...   259   260   261   262   263   264   265   266   ...   334




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

    Басты бет