[fitsbits] JSON to FITS bintable?
Seaman, Robert Lewis - (rseaman)
rseaman at arizona.edu
Thu Jul 15 00:03:24 EDT 2021
Hi John,
Thanks for the (almost) solution. (I presume you edited out the ellipsis.) JSON is fairly ubiquitous in the NEO community. I'm surprised support in astropy has been stalled for five years, at least as a bintable serialization. I may bite the bullet and roll my own with CFITSIO.
Rob
--
On 7/14/21, 11:35 AM, "John K. Parejko" <parejkoj at uw.edu> wrote:
I couldn’t quite get your json into an astropy.table, but this is almost what you need.
import pandas as pd
import astropy.table
data = pd.read_json('table.json', orient='values', typ='series’)
table = astropy.table.Table.from_pandas(data.to_frame()) <— this fails
table.write(’table.fits’)
You may be able to get it to work with the appropriate `pd.read_json` options. I’m not that familiar with pandas.
There’s an open astropy PR about this, but it stalled out and most recently folks there were moving towards ECSV.
https://github.com/astropy/astropy/issues/4604
John
> On 13Jul 2021, at 09:12, Seaman, Robert Lewis - (rseaman) via fitsbits <fitsbits at listmgr.nrao.edu> wrote:
>
> Howdy,
>
> Anybody have a viable JSON to bintable converter / library to recommend?
>
> Format as below.
>
> Rob
>
>
> {
> "H": "20.3",
> "Vmag": "21.8",
> "arc": "48.40",
> "caDist": null,
> "dec": "-34",
> "elong": "167",
> "geocentricScore": "0",
> "ieoScore": "0",
> "lastRun": "2021-07-13 11:52",
> "moid": "0.6",
> "nObs": "7",
> "neo1kmScore": "0",
> "neoScore": "16",
> "objectName": "P11hVaG",
> "orbits": {
> "count": "1000",
> "data": [
> [
> 0,
> "2459406.890974739",
> "2.998598423946383E-01",
> "1.254932587424348E+00",
> "2459535.040736465",
> "3.1448800075530471E+02",
> "6.1192414581791162E+01",
> "1.1594628618305565E+01",
> "21.376293",
> "NULL",
> "NULL",
> "3.065249120E-01",
> "NULL",
> "1.000000000E+99",
> 0
> ],
> . . .
> [
> 999,
> "2459406.890974739",
> "2.000304724974162E-01",
> "1.584871836255366E+00",
> "2459160.741920622",
> "3.1292408591618408E+02",
> "2.2731638231383295E+02",
> "1.7097327014467091E+01",
> "19.682230",
> "NULL",
> "NULL",
> "6.321307279E-01",
> "NULL",
> "1.000000000E+99",
> 0
> ]
> ],
> "fields": [
> "idx",
> "epoch",
> "ec",
> "qr",
> "tp",
> "om",
> "w",
> "inc",
> "H",
> "dca",
> "tca",
> "moid",
> "vinf",
> "geoEcc",
> "impFlag"
> ]
> },
> "phaScore": "0",
> "ra": "19:44",
> "rate": "0.9",
> "rating": "0",
> "rmsN": "0.58",
> "signature": {
> "source": "NASA/JPL Scout API",
> "version": "1.2"
> },
> "tEphem": "2021-07-13 13:30",
> "tisserandScore": "6",
> "unc": "0.05",
> "uncP1": "0.33",
> "vInf": null
> }
>
> _______________________________________________
> fitsbits mailing list
> fitsbits at listmgr.nrao.edu
> https://listmgr.nrao.edu/mailman/listinfo/fitsbits
--
*************************
John Parejko
parejkoj at uw.edu
Rubin Observatory, DIRAC Fellow
http://staff.washington.edu/parejkoj/
Department of Physics and Astronomy
University of Washington
Seattle, WA
**************************
More information about the fitsbits
mailing list