A partir de la ejecución del siguiente código:
Datos que se obtienen mediante la medición de la radiación solar y su interacción con la atmósfera.
#Cargar librerías
import requests
import pandas as pd
from datetime import datetime, date, timedelta
from os import mkdir, rmdir, remove, path
# Definir fechas
sdate = date(2018, 2, 1) # fecha de inicio (año, mes, día)
edate = date(2018, 2, 28) # fecha de fin (año, mes, día)
delta = edate - sdate
# Descarga de datos
dir = "radiacion" #carpeta de destino de los archivos
mkdir(str(dir))
for i in range(delta.days + 1):
date = str(sdate + timedelta(days=i)).replace('-', '')
url = 'https://ssl.smn.gob.ar/dpd/descarga_opendata.php?file=radiacionsolar/radsolar' + date + '.txt'
r = requests.get(url, allow_redirects=True)
if 'El archivo no existe.' in str(r.content):
print(date + " does not exist")
else:
with open('./' + dir + '/' + date + '.txt', 'wb') as f: f.write(r.content)
#Combinación de archivos
out = pd.DataFrame(columns = ['Horario', 'Global_BsAs[W/m2]', 'Difusa_BsAs[W/m2]', 'Global_Ush[W/m2]', 'Difusa_Ush[W/m2]'])
for i in range(delta.days + 1):
date = str(sdate + timedelta(days=i)).replace('-', '')
if path.isfile('./' + dir + '/' + date + '.txt'):
df1 = pd.read_csv('./' + dir + '/' + date + '.txt', header = None, index_col = False, skiprows= 1,
names = ['Horario', 'Global_BsAs[W/m2]', 'Difusa_BsAs[W/m2]', 'Global_Ush[W/m2]', 'Difusa_Ush[W/m2]'])
out = out.append(df1, ignore_index=True)
else:
print(date + " does not exist")
display(out.head())
display(out.tail())
#Estandarización
df = out
df['Horario'] = pd.to_datetime(df['Horario'], format ='%Y-%m-%d %H:%M:%S')
print(df.info())
#Borra archivos anteriores y exporta la tabla
file = 'datosRadiacion.csv' #nombre del archivo de destino
df.to_csv(file, index = False)
for i in range(delta.days + 1):
date = str(sdate + timedelta(days=i)).replace('-', '')
if path.isfile('./' + dir + '/' + date + '.txt'):
remove('./' + dir + '/' + date + '.txt')
else:
print(date + " does not exist")
rmdir(str(dir))