Skip to content
GenerateDB_Seiya.py 1.73 KiB
Newer Older
Alice Donini's avatar
Alice Donini committed
import pandas as pd
import argparse
import numpy as np
from astropy.time import Time
import os

columns = ['Target', 'Source', 'day', 'hour', 'MJD', 'RA_Obs', 'Dec_Obs', 'obs_time', 'Zenith', 'rate', 'nsb']
df = pd.DataFrame(columns=columns)

parser = argparse.ArgumentParser(description='Generate and update the database')
parser.add_argument('--name', '-n',
                    dest='db', type=str, required=False, default='database.csv',
                    help='Name of the database'
                    )
args = parser.parse_args()

# get the online database
os.system("wget --no-check-certificate -O SeiyaDB.csv 'https://docs.google.com/spreadsheets/d/1S5wcgqldMN3Tt-51IseJOaRnKbDvh1QTc7fgUrCB-mc/export?gid=0&format=csv'")

data = np.loadtxt("SeiyaDB.csv", skiprows=2, delimiter=",", unpack=True, dtype=str)
Nentry = len(data[0])
print("Nentry", Nentry)

newEntry = {}
for i in range(Nentry):
    if (data[21][i] == "TRUE" and data[22][i] == "FALSE" and data[23][i] == "FALSE"):
        newEntry['Target'] = data[5][i]
        newEntry['Source'] = data[6][i]
        newEntry['day'] = int(data[1][i].replace("-", ""))
        newEntry['hour'] = data[2][i] + ":00"
        newEntry['RA_Obs'] = float(data[15][i])
        newEntry['Dec_Obs'] = float(data[16][i])
        t = Time(data[1][i]+"T"+data[2][i] + ":00", format='isot', scale='utc')
        newEntry['MJD'] = t.mjd
        newEntry['obs_time'] = float(data[3][i])
        newEntry['Zenith'] = (float(data[10][i])+float(data[9][i]))/2.
        newEntry['rate'] = float(data[11][i])
        newEntry['nsb'] = float(data[12][i])
        df.loc[data[0][i]] = newEntry
        # df = df.append(newEntry,ignore_index=True)

df["day"] = pd.to_numeric(df["day"])
print(df)
print(df.info())
df.to_csv(args.db)