python获取天气信息写入原有的excel文档
生活随笔
收集整理的這篇文章主要介紹了
python获取天气信息写入原有的excel文档
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近想統(tǒng)計(jì)對(duì)比全國各大城市的天氣,先把他記錄下來,于是通過python腳本來獲取每天的天氣信息。
注意首先要?jiǎng)?chuàng)建一個(gè)excel文檔,并且包含一個(gè)sheet1工作薄。
代碼如下:
#coding:utf-8import xlrd from xlutils.copy import copy import time import urllib2 import sysdate = time.strftime('%Y-%m-%d') citys = ['北京','天津','石家莊','太原','西安','重慶','成都','貴陽','上海','蘇州','杭州','南京','廣州','深圳','廈門','武漢']book = xlrd.open_workbook('城市天氣.xls',formatting_info=True,encoding_override='utf-8') workbook = copy(book) sheet = book.sheet_by_name('sheet1') worksheet = workbook.get_sheet(0); col_id = sheet.col(0) last_id = len(col_id)for i in range(len(citys)):col_id = worksheet.col(0)url_aqi = 'http://www.baidu.com/s?ie=utf-8&bs=' + citys[i] + 'aqi&f=8&rsv_bp=1&rsv_spt=3&wd=' + citys[i] + 'aqi&inputT=0'url_tem = 'http://www.baidu.com/s?ie=utf-8&bs=' + citys[i] + '氣溫&f=8&rsv_bp=1&rsv_spt=3&wd=' + citys[i] + '氣溫&inputT=0'content_aqi = urllib2.urlopen(url_aqi).read()content_tem = urllib2.urlopen(url_tem).read()index_aqi_1 = content_aqi.find('class="op_pm25_graexp\">')index_aqi_2 = content_aqi.find('</span><span class=\"op_pm25_grade')index_tem_1 = content_tem.find('twoicon_temp\">')index_tem_2 = content_tem.find('<sup>℃</sup>')temperature = content_tem[index_tem_1 + 14:index_tem_2]aqi = content_aqi[index_aqi_1 + 23:index_aqi_2]print citys[i]+':','空氣質(zhì)量指數(shù):' + aqi + ' 溫度:' + temperature + ' 時(shí)間:' + date_id = last_id + iworksheet.write(last_id + i,0,_id)worksheet.write(last_id + i,1,citys[i].decode('utf-8'))worksheet.write(last_id + i,2,temperature)worksheet.write(last_id + i,3,aqi)worksheet.write(last_id + i,4,date)workbook.save('城市天氣.xls')print '\n' print '獲取成功.....'運(yùn)行結(jié)果如下:
注意以上代碼再linux下運(yùn)行時(shí)是正常的,在windows運(yùn)行會(huì)出現(xiàn)編碼錯(cuò)誤,windows下代碼修改為:
#coding:utf-8 import xlrd from xlutils.copy import copy import time import urllib2 import sys date = time.strftime('%Y-%m-%d') citys = ['北京','天津','石家莊','太原','西安','重慶','成都','貴陽','上海','蘇州','杭州','南京','廣州','深圳','廈門','武漢'] fi = '城市天氣.xls'.decode('UTF-8') book = xlrd.open_workbook(fi,formatting_info=True) workbook = copy(book) sheet = book.sheet_by_name('sheet1') worksheet = workbook.get_sheet(0); col_id = sheet.col(0) last_id = len(col_id) for i in range(len(citys)): col_id = worksheet.col(0) url_aqi = 'http://www.baidu.com/s?ie=utf-8&bs=' + citys[i] + 'aqi&f=8&rsv_bp=1&rsv_spt=3&wd=' + citys[i] + 'aqi&inputT=0' url_tem = 'http://www.baidu.com/s?ie=utf-8&bs=' + citys[i] + '氣溫&f=8&rsv_bp=1&rsv_spt=3&wd=' + citys[i] + '氣溫&inputT=0' content_aqi = urllib2.urlopen(url_aqi).read() content_tem = urllib2.urlopen(url_tem).read() index_aqi_1 = content_aqi.find('class="op_pm25_graexp\">') index_aqi_2 = content_aqi.find('</span><span class=\"op_pm25_grade') index_tem_1 = content_tem.find('twoicon_temp\">') index_tem_2 = content_tem.find('<sup>℃</sup>') temperature = content_tem[index_tem_1 + 14:index_tem_2] aqi = content_aqi[index_aqi_1 + 23:index_aqi_2] print citys[i].decode('UTF-8')+':','空氣質(zhì)量指數(shù):' + aqi + ' 溫度:' + temperature + ' 時(shí)間:' + date _id = last_id + i worksheet.write(last_id + i,0,_id) worksheet.write(last_id + i,1,citys[i].decode('utf-8')) worksheet.write(last_id + i,2,temperature) worksheet.write(last_id + i,3,aqi) worksheet.write(last_id + i,4,date) workbook.save('城市天氣.xls'.decode('UTF-8')) print '\n' print '獲取成功.....'.decode('UTF-8')參考地址:
http://jingyan.baidu.com/article/5bbb5a1b3a6a1313eba1792b.html
http://jingyan.baidu.com/article/48b558e35d1ec47f38c09a2c.html
總結(jié)
以上是生活随笔為你收集整理的python获取天气信息写入原有的excel文档的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python获取城市天气数据案例
- 下一篇: pip安装python包出错:ctype