Skip to main content

CSV and CSZ read/write support for ObsPy earthquake catalogs

Project description

## Installation

Install ObsPy. After that install obspycsv using pip by:

pip install obspycsv

## Usage CSV

CSV format can be used to store a catalog with basic origin properties. Picks cannot be stored.

` >>> from obspy import read_events >>> events = read_events() # load example events >>> print(events) 3 Event(s) in Catalog: 2012-04-04T14:21:42.300000Z | +41.818, +79.689 | 4.4 mb | manual 2012-04-04T14:18:37.000000Z | +39.342, +41.044 | 4.3 ML | manual 2012-04-04T14:08:46.000000Z | +38.017, +37.736 | 3.0 ML | manual >>> events.write('catalog.csv', 'CSV') # declare 'CSV' as format >>> print(read('catalog.csv')) 3 Event(s) in Catalog: 2012-04-04T14:21:42.300000Z | +41.818, +79.689 | 4.4 mb 2012-04-04T14:18:37.000000Z | +39.342, +41.044 | 4.3 ML 2012-04-04T14:08:46.000000Z | +38.017, +37.736 | 3.0 ML >>> cat catalog.csv time,lat,lon,dep,mag,magtype,id 2012-04-04T14:21:42.30000,41.818000,79.689000,1.000,4.40,mb,20120404_0000041 2012-04-04T14:18:37.00000,39.342000,41.044000,14.400,4.30,ML,20120404_0000038 2012-04-04T14:08:46.00000,38.017000,37.736000,7.000,3.00,ML,20120404_0000039 `

It is possible to load arbitrary csv files. Define the field names in the code or use the first line in the file to define the field names. The following field names have to be used to read the origin time: time (UTC time string) or year, mon, day, hour, minu, sec. The following additional field names have to be used: lat, lon, dep, mag, magtype, id. magtype, mag and id are optional. For external csv files, the format ‘CSV’ has to be explicitly specified.

` >>> cat external.csv Year, Month, Day, Hour, Minute, Seconds, code, Lat, Lon, Depth, Station_count, time_residual_RMS, Magnitude, etc 2023, 05, 06, 19, 55, 01.3, LI, 10.1942, 124.8300, 50.47, 111, 0.0, 0.2, 42, 0.0, 0.0176, 0.0127, 0.02, 0.3, 2023abcde >>> fields = 'year mon day hour minu sec _ lat lon dep _ _ mag _ _ _ _ _ _ id'.split() events = read_events('external.csv', 'CSV', skipheader=1, fieldnames=fields) 1 Event(s) in Catalog: 2023-05-06T19:55:01.300000Z | +10.194, +124.830 | 0.2 None `

## Usage CSZ

CSZ format can be used to store a catalog with picks in a set of csv files zipped into a single file. It works similar to NumPy’s npz format. Compression may be used with compression and compresslevel parameters (see [zipfile doc](https://docs.python.org/library/zipfile.html#zipfile.ZipFile)).

` >>> events = read_events('/path/to/example.pha') >>> print(events) 2 Event(s) in Catalog: 2025-05-14T14:35:35.510000Z | +40.225, +10.450 | 3.5 None 2025-05-14T15:43:05.280000Z | +40.223, +10.450 | 1.8 None >>> print(len(events[0].picks)) 2 >>> events.write('catalog.csz', 'CSZ') >>> events2 = read_events('catalog.csz') # add check_compression=False for ObsPy version < 1.4 >>> print(events2) 2 Event(s) in Catalog: 2025-05-14T14:35:35.510000Z | +40.225, +10.450 | 3.5 None 2025-05-14T15:43:05.280000Z | +40.223, +10.450 | 1.8 None >>> print(len(events2[0].picks)) 2 `

## Miscellaneous

Plese submit an issue if you want to see support for other properties. Questions can be asked in the ObsPy forum.

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

obspycsv-0.4.0.tar.gz (8.2 kB view details)

Uploaded Source

File details

Details for the file obspycsv-0.4.0.tar.gz.

File metadata

  • Download URL: obspycsv-0.4.0.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/2.7

File hashes

Hashes for obspycsv-0.4.0.tar.gz
Algorithm Hash digest
SHA256 d0a03855a365c703944a7a895fcddcb6a407e96ba4ad1f189c2502d5f0891629
MD5 11a5d39d11ca8b89cf17d61e3d869cce
BLAKE2b-256 0b8d025e584add740ce68dd4d0896d41fb73982b8f6865aed4b8c053ed340373

See more details on using hashes here.

Supported by

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