Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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)