Cameron Simpson wrote: > On 06Sep2018 12:32, Brandon Creech <bdcreec...@gmail.com> wrote: >>Hi, I am working to forecast the temperatures for the next 5 days using an >>API and a for loop. I would like write the output of this loop to a csv in >>this format:: >> >>Columns: City, min1, max1, min2, max2,min3,max3,min4,max4,min5,max5 >>data: Athens,Greece 25.4,26.7....etc. >> Nantou,Taiwan 16.18, ......etc
> print call for the output. The csv module provides a writer object which > does all the heavy lifting for you: turns strings into quotes strings, > puts in commas, etc. Try this change: > > csvw = csv.writer(sys.stdout) > for city, coords in cities.items(): > weather = ForecastIO.ForecastIO( api_key, latitude=coords[0], > longitude=coords[1] ) > daily = FIODaily.FIODaily(weather) > for day in range(2,7): > day_data = daily.get_day(day) > csvw.writerow([city, day_data['temperatureMax'], > day_data['temperatureMin']]) If you want all min/max pairs in the same row you can prebuild that row in a list. With minimal changes to Cameron's code: # untested csvw = csv.writer(sys.stdout) for city, coords in cities.items(): weather = ForecastIO.ForecastIO( api_key, latitude=coords[0], longitude=coords[1] ) daily = FIODaily.FIODaily(weather) row = [city] for day in range(2, 7): day_data = daily.get_day(day) row.append(day_data['temperatureMin']) row.append(day_data['temperatureMax']) csvw.writerow(row) _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor