Skip to content

Commit e6d84e8

Browse files
committed
simplify mokelumne download
1 parent c9a706e commit e6d84e8

File tree

1 file changed

+7
-24
lines changed

1 file changed

+7
-24
lines changed

Diff for: dms_datastore/download_mokelumne.py

+7-24
Original file line numberDiff line numberDiff line change
@@ -23,40 +23,23 @@ def parse_mokelumne_flow(fname):
2323
return date, float(val.replace(",", ""))
2424

2525

26-
def update_existing(date, value, fname):
27-
name = fname.split(".csv")[0]
28-
if not len(glob.glob(f"{name}*.csv")):
29-
print(f"{fname} does not exist! Starting a new file named: {fname}")
30-
df = pd.DataFrame(columns=["Date", "Value"])
31-
df = df.set_index("Date")
32-
df = df.astype("float")
33-
else:
34-
df = utils.read_by_years(name)
35-
#
36-
dfnew = pd.DataFrame(
37-
[[float(value)]], columns=df.columns, index=[pd.to_datetime(date)]
38-
)
39-
dfnew.index.name = "Date"
40-
# update the new data frame values
41-
df = pd.concat([df, dfnew])
42-
# if duplicate indexes, keep the last one (latest)
43-
df = df[~df.index.duplicated(keep="last")]
44-
df = df.sort_index()
45-
utils.store_by_years(df, name)
46-
47-
4826
def update_last_7days(
4927
fname="mokelumne_flow.csv",
5028
raw_dir="raw",
51-
converted_dir="formatted",
29+
converted_dir=".",
5230
):
5331
today = datetime.datetime.now()
32+
vals = []
5433
for i in range(7):
5534
report_date = today - datetime.timedelta(days=(i + 1))
5635
date_str = report_date.strftime("%m/%d/%Y")
5736
download_fname = build_filename(date_str, raw_dir)
5837
rvals = parse_mokelumne_flow(download_fname)
59-
update_existing(*rvals, fname=os.path.join(converted_dir, fname))
38+
vals.append(rvals)
39+
df = pd.DataFrame(vals, columns=["Date", "Value"])
40+
df.set_index("Date", inplace=True)
41+
df.sort_index(inplace=True)
42+
df.to_csv(fname)
6043

6144

6245
def save_report(date_str, base_dir):

0 commit comments

Comments
 (0)