幫宣傳下彩印網(www.caiyin.com) 有印刷,廣告等等方面的需求就找這個網站吧,沒錯的。
天氣預報在MongoDB中的天氣預報的存儲方式是:
/* 1 */ { "_id" : ObjectId("5a72ae6e6bd36a9f61e8ce3d"), "city" : "北京", "info" : [ { "index_of_living" : [ { "assess" : "最弱", "content" : "輻射弱,塗擦SPF8-12防曬護膚品。", "name" : "紫外線指數" }, { "assess" : "較易波動", "content" : "血糖較易波動,注意監測。", "name" : "健臻·血糖指數" }, { "assess" : "較易發", "content" : "溫差較大,較易感冒,注意防護。", "name" : "感冒指數" }, { "assess" : "冷", "content" : "建議着棉衣加羊毛衫等冬季服裝。", "name" : "穿衣指數" }, { "assess" : "較適宜", "content" : "無雨且風力較小,易保持清潔度。", "name" : "洗車指數" }, { "assess" : "中", "content" : "易感人群應適當減少室外活動。", "name" : "空氣污染擴散指數" } ], "K" : "5℃", "weather" : "晴轉多雲轉晴", "time" : "1日(今天)", "wind" : "<3級轉3-4級", "V" : "-7℃" }, { "index_of_living" : [ { "assess" : "弱", "content" : "輻射較弱,塗擦SPF12-15、PA+護膚品。", "name" : "紫外線指數" }, { "assess" : "易波動", "content" : "氣溫多變,血糖易波動,請注意監測。", "name" : "健臻·血糖指數" }, { "assess" : "極易發", "content" : "強降溫,天氣寒冷,極易發生感冒。", "name" : "感冒指數" }, { "assess" : "寒冷", "content" : "建議着厚羽絨服等隆冬服裝。", "name" : "穿衣指數" }, { "assess" : "較適宜", "content" : "無雨且風力較小,易保持清潔度。", "name" : "洗車指數" }, { "assess" : "良", "content" : "氣象條件有利於空氣污染物擴散。", "name" : "空氣污染擴散指數" } ], "K" : "-1℃", "weather" : "晴", "time" : "2日(明天)", "wind" : "3-4級轉<3級", "V" : "-9℃" }, { "index_of_living" : [ { "assess" : "最弱", "content" : "輻射弱,塗擦SPF8-12防曬護膚品。", "name" : "紫外線指數" }, { "assess" : "易波動", "content" : "血糖易波動,注意監測。", "name" : "健臻·血糖指數" }, { "assess" : "較易發", "content" : "天較涼,增加衣服,注意防護。", "name" : "感冒指數" }, { "assess" : "冷", "content" : "建議着棉衣加羊毛衫等冬季服裝。", "name" : "穿衣指數" }, { "assess" : "較適宜", "content" : "無雨且風力較小,易保持清潔度。", "name" : "洗車指數" }, { "assess" : "中", "content" : "易感人群應適當減少室外活動。", "name" : "空氣污染擴散指數" } ], "K" : "0℃", "weather" : "多雲", "time" : "3日(后天)", "wind" : "<3級", "V" : "-9℃" }, { "index_of_living" : [ { "assess" : "弱", "content" : "輻射較弱,塗擦SPF12-15、PA+護膚品。", "name" : "紫外線指數" }, { "assess" : "易波動", "content" : "血糖易波動,注意監測。", "name" : "健臻·血糖指數" }, { "assess" : "較易發", "content" : "天較涼,增加衣服,注意防護。", "name" : "感冒指數" }, { "assess" : "冷", "content" : "建議着棉衣加羊毛衫等冬季服裝。", "name" : "穿衣指數" }, { "assess" : "較適宜", "content" : "無雨且風力較小,易保持清潔度。", "name" : "洗車指數" }, { "assess" : "中", "content" : "易感人群應適當減少室外活動。", "name" : "空氣污染擴散指數" } ], "K" : "1℃", "weather" : "晴", "time" : "4日(周日)", "wind" : "<3級", "V" : "-8℃" }, { "index_of_living" : [ { "assess" : "弱", "content" : "輻射較弱,塗擦SPF12-15、PA+護膚品。", "name" : "紫外線指數" }, { "assess" : "易波動", "content" : "血糖易波動,注意監測。", "name" : "健臻·血糖指數" }, { "assess" : "較易發", "content" : "天較涼,增加衣服,注意防護。", "name" : "感冒指數" }, { "assess" : "冷", "content" : "建議着棉衣加羊毛衫等冬季服裝。", "name" : "穿衣指數" }, { "assess" : "較適宜", "content" : "無雨且風力較小,易保持清潔度。", "name" : "洗車指數" }, { "assess" : "中", "content" : "易感人群應適當減少室外活動。", "name" : "空氣污染擴散指數" } ], "K" : "0℃", "weather" : "晴", "time" : "5日(周一)", "wind" : "<3級", "V" : "-10℃" }, { "index_of_living" : [ { "assess" : "弱", "content" : "輻射較弱,塗擦SPF12-15、PA+護膚品。", "name" : "紫外線指數" }, { "assess" : "較易波動", "content" : "血糖較易波動,注意監測。", "name" : "健臻·血糖指數" }, { "assess" : "較易發", "content" : "天較涼,增加衣服,注意防護。", "name" : "感冒指數" }, { "assess" : "冷", "content" : "建議着棉衣加羊毛衫等冬季服裝。", "name" : "穿衣指數" }, { "assess" : "較適宜", "content" : "無雨且風力較小,易保持清潔度。", "name" : "洗車指數" }, { "assess" : "中", "content" : "易感人群應適當減少室外活動。", "name" : "空氣污染擴散指數" } ], "K" : "2℃", "weather" : "晴", "time" : "6日(周二)", "wind" : "<3級", "V" : "-8℃" }, { "index_of_living" : [ { "assess" : "弱", "content" : "輻射較弱,塗擦SPF12-15、PA+護膚品。", "name" : "紫外線指數" }, { "assess" : "較易波動", "content" : "血糖較易波動,注意監測。", "name" : "健臻·血糖指數" }, { "assess" : "較易發", "content" : "天較涼,增加衣服,注意防護。", "name" : "感冒指數" }, { "assess" : "冷", "content" : "建議着棉衣加羊毛衫等冬季服裝。", "name" : "穿衣指數" }, { "assess" : "較適宜", "content" : "無雨且風力較小,易保持清潔度。", "name" : "洗車指數" }, { "assess" : "中", "content" : "易感人群應適當減少室外活動。", "name" : "空氣污染擴散指數" } ], "K" : "3℃", "weather" : "晴轉多雲", "time" : "7日(周三)", "wind" : "<3級", "V" : "-8℃" } ] }
就是每個地方的未來的七天的天氣
import json import pymongo #建立連接 client = pymongo.MongoClient("mongodb://root:root@IP:端口") #指定數據庫 db = client['weather'] #指定集合 collection= db['weather_tian'] #指定要查詢的內容 result= collection.find() print('type result===',type(result)) fp = open('./output_weather.json','a+') cal_index =0 for i in result: cal_index = cal_index +1 if cal_index == 4: #先打個三個地區出來看看情況 break #print('type i =',type(i)) i.pop('_id') #不如這個key和value不去掉的話,會報ObjectId錯誤的問題,因為這個是MongoDB里面的類,json不認識,你的自定定義這個類來處理 j = json.dumps(i,ensure_ascii=False) fp.write(j) fp.write('\n') #這樣每個地區的未來七天的天氣情況就寫為一行了 fp.close()
這樣就在本地存了個json文件了。有三個地區的天氣。
接下來我們是從這個json文件讀入,變成dict,代碼如下
import json import time def json_file_to_dict(): ofile = open('./output_weather.json') for line in ofile.readlines(): #print(line) print(type(line)) afterjson = json.loads(line) print(afterjson['city']) #其中city是dict中的某個key if __name__ == '__main__': json_file_to_dict()