从MongoDB里面取得json格式的数据,然后存为本地的json文件,然后再从json读取变为dict
帮宣传下彩印网(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()
从MongoDB里面取得json格式的数据,然后存为本地的json文件,然后再从json读取变为dict的更多相关文章
- JS基础语法---JSON格式的数据
1. 对象: 有属性和方法,特指的某个事物 对象: 一组无序属性的集合的键值对,属性的值可以是任意的类型 2.JSON格式的数据:一般都是成对的,是键值对, json也是 ...
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理
话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性 ...
- MVC学习系列6--使用Ajax加载分部视图和Json格式的数据
Ajax的应用在平时的工作中,很是常见,这篇文章,完全是为了,巩固复习. 我们先看看不使用json格式返回分部视图: 先说需求吧: 我有两个实体,一个是出版商[Publisher],一个是书[Book ...
- asp.net MVC控制器中返回JSON格式的数据时提示下载
Asp.net mvc在接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("# ...
- SQLyog-直接导出JSON格式的数据
前言:以前做过的一个项目,有这样的一个需求使用搜索引擎来查询对应的区域信息,不过区域信息要先导出来,并且数据格式是JSON格式的,在程序中能实现这个需求,不过下面的这种方法更加的简单,通过 ...
- hive中导入json格式的数据(hive分区表)
hive中建立外部分区表,外部数据格式是json的如何导入呢? json格式的数据表不必含有分区字段,只需要在hdfs目录结构中体现出分区就可以了 This is all according to t ...
- $.ajax返回的JSON格式的数据后无法执行success的解决方法
近段时间做项目,在项目使用了ajax技术,遇到了一个奇怪的问题:"$.ajax返回的JSON格式的数据无法执行success",代码是这样写的: 1 $.ajax({ 2 .. 3 ...
- Android Volley获取json格式的数据
为了让Android能够快速地访问网络和解析通用的数据格式Google专门推出了Volley库,用于Android系统的网络传输.volley库可以方便地获取远程服务器的图片.字符串.json对象和j ...
- jmeter随笔(1)-在csv中数据为json格式的数据不完整
昨天同事在使用jmeter遇到问题,在csv中数据为json格式的数据,在jmeter中无法完整的取值,小怪我看了下,给出解决办法,其实很简单,我们一起看看,看完了记得分享给你的朋友. 问题现象: 1 ...
- mybatis 处理数组类型及使用Json格式保存数据 JsonTypeHandler and ArrayTypeHandler
mybatis 比 ibatis 改进了很多,特别是支持了注解,支持了plugin inteceptor,也给开发者带来了更多的灵活性,相比其他ORM,我还是挺喜欢mybatis的. 闲言碎语不要讲, ...
随机推荐
- EF分别使用IQueryable和IEnumerable实现更新和删除
缺点 使用IQueryable无法跟踪,无法监控sql,无法使用SaveChanges(). 优点 使用IQueryable简单粗暴. class Program { static void Main ...
- rem布局js设置,设置网页文档参考字体闭包函数
(function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? ...
- vue 常用手册
基本使用 引入vue.js 创建Vue对象, 指定选项对象 el : 指定dom标签容器的选择器 data : 指定初始化状态属性数据的对象对象/函数(返回一个对象) 页面中 使用v-model: 实 ...
- Berlekamp-Massey算法简单介绍
请阅读本文的同学们注意:之前这篇博客和所附代码有点问题,求的不一定是最短递推式,非常抱歉 看毛爷爷的论文大概断断续续看了一个月了,看得不是很懂,google了一波好像很快就看懂了,就先口胡一下这个算法 ...
- AtCoder Regular Contest 080 (ARC080) E - Young Maids 线段树 堆
原文链接http://www.cnblogs.com/zhouzhendong/p/8934377.html 题目传送门 - ARC080 E - Young Maids 题意 给定一个长度为$n$的 ...
- 51nod1967 路径定向 Fleury
题目传送门 题解 几乎是Fleury模板题. 一开始我们把图看作无向图,然后对于度为奇数的点增边,使得整个图的所有点都是偶数的. 然后跑一遍欧拉回路 Fleury ,所有的边就定向好了~ 代码 #in ...
- P1330 封锁阳光大学 DFS
题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构成的无向图,N个点之间由M ...
- day15 函数的使用方法:递归函数
这里归纳的知识点主要就是: 浮点数,复数, int,整形:float,浮点数:complx,复数: # 实数: # 有理数 有限小数 1.2 # 无限循环小数 1.23232323232323.... ...
- httpmodule MVCapplication
转自:http://www.cnblogs.com/fish-li/archive/2011/09/05/2168073.html http://www.cnblogs.com/yplong/p/55 ...
- tp5参数绑定
关闭路由后的普通模式任然可以通过操作方法的参数绑定.控制器和空操作等特性实现url地址的简化 参数绑定(默认是按名称成对解析,): namespace app\index\Controller; cl ...