You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1021 B
Python

"""Download latest time series data from MHL website and update local copy.
D. Howe
2019-08-30
"""
import os
import pandas as pd
# Set output directory
output_dir = 'csv'
# Define data URLs
url = 'http://www.mhl.nsw.gov.au/data/realtime/timeseries/'
txt_names = [
'SYDDOW.WaveHeight.csv.dat.txt',
'SYDDOW.WavePeriod.csv.dat.txt',
]
for txt_name in txt_names:
# Read text file from MHL website
df = pd.read_csv(url + txt_name, index_col=0, parse_dates=True)
# Create name for exported data
csv_name = os.path.join(input_dir, txt_name.replace('.dat.txt', ''))
try:
# Load local master table
master = pd.read_csv(csv_name, index_col=0, parse_dates=True)
# Only include timestamps that do not already exist
df = df[~df.index.isin(master.index)]
# Update master
master = master.append(df)
except FileNotFoundError:
# Create new master table if none exists
master = df
# Export master table
master.to_csv(csv_name)