initial
This commit is contained in:
commit
3d824b3c2b
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.venv/
|
48
export_month.py
Normal file
48
export_month.py
Normal file
@ -0,0 +1,48 @@
|
||||
import psycopg2
|
||||
import sqlalchemy
|
||||
import pandas as pd
|
||||
import argparse
|
||||
import sys
|
||||
import datetime
|
||||
import dateutil.relativedelta
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser(description="export_month.py")
|
||||
parser.add_argument('--lastmonth', '-l',
|
||||
help="Export data of the last month",
|
||||
required=False,
|
||||
action='store_true',
|
||||
default=False)
|
||||
parser.add_argument('--month', '-m',
|
||||
help="Export data of the given month, format: YYYY-MM-DD",
|
||||
required=False,
|
||||
default='0000-00-00')
|
||||
|
||||
args = parser.parse_args()
|
||||
if not args.lastmonth and args.month == '0000-00-00':
|
||||
raise Exception('Either --lastmonth or --month must be given')
|
||||
if args.lastmonth and args.month != '0000-00-00':
|
||||
raise Exception('Only one of --lastmonth and --month must be given')
|
||||
|
||||
if args.lastmonth:
|
||||
startdate = datetime.date.today().replace(day=1) - dateutil.relativedelta.relativedelta(months=1)
|
||||
else:
|
||||
startdate = datetime.datetime.strptime(args.month, '%Y-%m-%d').replace(day=1)
|
||||
|
||||
enddate = startdate + dateutil.relativedelta.relativedelta(months=1)
|
||||
|
||||
|
||||
try:
|
||||
engine = sqlalchemy.create_engine('postgresql://wn@db.hottis.de/mainscnt')
|
||||
with engine.connect() as conn:
|
||||
dat = pd.read_sql_query(f"select time, location, freq from mainsfrequency where valid=1 and time >= '{startdate}' and time < '{enddate}'", con=conn)
|
||||
finally:
|
||||
engine.dispose()
|
||||
|
||||
|
||||
dat = dat.pivot_table(index='time', columns='location', values='freq')
|
||||
|
||||
csv_filename = f"{startdate.strftime('%Y-%m')}.csv"
|
||||
dat.to_csv(csv_filename)
|
||||
|
||||
|
10
requirements.txt
Normal file
10
requirements.txt
Normal file
@ -0,0 +1,10 @@
|
||||
greenlet==2.0.2
|
||||
numpy==1.25.2
|
||||
pandas==2.0.3
|
||||
psycopg2==2.9.7
|
||||
python-dateutil==2.8.2
|
||||
pytz==2023.3
|
||||
six==1.16.0
|
||||
SQLAlchemy==2.0.20
|
||||
typing_extensions==4.7.1
|
||||
tzdata==2023.3
|
Loading…
x
Reference in New Issue
Block a user