Skip to main content

Library for downloading and parsing Op and IAGA-2002 scientific data formats

Project description

op_parser

op_parser — библиотека для скачивания, парсинга и преобразования научных данных из форматов Op и IAGA-2002. Предназначена для работы с климатическими и геомагнитными данными, включая NOAA и другие источники.


Возможности

  • Надёжная загрузка файлов по FTP с поддержкой повторных попыток и автоматической распаковкой gzip
  • Работа с локальными директориями для удобства использования уже скачанных данных
  • Парсинг формата Op с возможностью применять пользовательские функции конвертации единиц измерения
  • Универсальный парсер формата IAGA-2002 — стандарт для геомагнитных данных
  • Экспорт объединённых и преобразованных данных в CSV для последующего анализа и визуализации

Установка

Установите библиотеку через pip:

pip install op-iaga-parser


Пример использования

Скачивание и распаковка файлов с FTP

from op_parser import Downloader

downloader = Downloader( ftp_host='ftp.ncdc.noaa.gov', ftp_base_dir='/pub/data/gsod', data_dir='test_data' ) files = downloader.get_files(download=True) print(f"Скачано и распаковано файлов: {len(files)}") for f in files: print(f" - {f}")

Работа с локальными файлами

downloader = Downloader(data_dir='data') files = downloader.get_files(download=False) print(f"Найдено локальных .op файлов: {len(files)}") for f in files: print(f" - {f}")

Парсинг Op файлов и сохранение в CSV с конвертацией

from op_parser import OpFileParser, safe_float, f_to_c, inch_to_mm, mph_to_mps, mile_to_km

parser = OpFileParser( field_converters={ 'TemperatureF': [safe_float, f_to_c], 'WindSpeedMph': [safe_float, mph_to_mps], 'PrecipInches': [safe_float, inch_to_mm], 'DistanceMiles': [safe_float, mile_to_km] }, apply_conversion=True ) parser.parse_folder_to_csv('data', 'test_output.csv') print("Данные сохранены в test_output.csv")

Парсинг файлов формата IAGA-2002

from op_parser import IAGA2002Downloader

downloader = IAGA2002Downloader(data_dir='data')

Скачивание и парсинг с сохранением в единый CSV iaga_url = 'https://www2.irf.se/maggraphs/rt_iaga_last_hour_1sec_secondary.txt' local_file = downloader.download_file(iaga_url) if local_file: downloader.parse_files_to_csv([local_file]) else: print("Не удалось скачать файл")

Или парсинг локальных файлов

files_to_parse = downloader.list_local_files() if files_to_parse: downloader.parse_files_to_csv(files_to_parse) else: print("Локальные файлы не найдены")


Лицензия

Проект распространяется под лицензией MIT.


Контакты и поддержка

Если у вас есть вопросы или предложения, создайте issue на GitHub или свяжитесь с автором по email: xhispeco2018@gmail.com


op_parser — надёжный инструмент для работы с научными данными, позволяющий эффективно обрабатывать большие объёмы информации.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

op_iaga_parser-0.3.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

op_iaga_parser-0.3.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file op_iaga_parser-0.3.0.tar.gz.

File metadata

  • Download URL: op_iaga_parser-0.3.0.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for op_iaga_parser-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f1c61eb0519b2cf5548040b1887a06de1d9f90c3828ae069e474fbcf1395d780
MD5 158c14565ac21a1b9584d0d1863cb488
BLAKE2b-256 0e0893fa55e297e5798a7f707a2bc0a38fdad1978f97b7d61d5029c473ab006c

See more details on using hashes here.

File details

Details for the file op_iaga_parser-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: op_iaga_parser-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for op_iaga_parser-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ef4ebdfb21551c8f76021c64d64dfe617405b68d924d34c5b2cf7b4f28d9780c
MD5 3c964742b840f63fb8f0af7d0ff01719
BLAKE2b-256 7fca79e721ea0017c02f861d3cfe4a0da770de332a14b7139e718e4c4947a17e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page