The Dark Sky API allows you to look up the weather
anywhere on the globe, returning (where available):
- Current weather conditions
- Minute-by-minute forecasts out to one hour
- Hour-by-hour and day-by-day forecasts out to seven days
- Hour-by-hour and day-by-day observations going back decades
Gridarrow makes it easy to integrate the Dark Sky data with Excel.
What is Gridarrow?
Gridarrow is the missing server for Excel.
It connects just about any data source to Excel with simple Python scripts.
Why is it awesome?
- It's real-time, so as soon as the data is updated in the Gridarrow App
it's updated in Excel, no need to poll or refresh.
- It's multi-user so your colleagues can connect to the same data at the same time.
- It simplifies your spreadsheets by moving data retrieval and pre-processing into Python.
This example shows Excel receiving the detailed current, minutely, hourly, and daily weather forecasts
for Washington D.C. (configured using lat/long coordinates).
Check out the Python code below to see how to connect Excel with the Dark Sky API
But before you jump into it, remember to:
1 2 3 4 5 6 7 8 910111213141516171819202122232425262728
from datetime import datetime
from gridarrow import Arrow
arrow = Arrow()
LATLONG = os.environ.get('LATLONG', "38.7128,-77.0060").split(",")
DARKSKY_KEY = os.environ['DARKSKY_KEY']
grid = arrow.grid('currently', rows=1, columns=data.keys())
data['time'] = datetime.fromtimestamp(data['time'])
grid[0, grid.columns] = [data[c] for c in grid.columns]
def build_grid(name, data):
grid = arrow.grid(name, rows=len(data), columns=data.keys())
for i, d in enumerate(data):
d['time'] = datetime.fromtimestamp(d['time'])
grid[i, grid.columns] = [d[col] if col in d else None
for col in grid.columns]
forecast = forecastio.load_forecast(DARKSKY_KEY, *LATLONG)
for resolution in ['minutely', 'hourly', 'daily']: