帮宣传下彩印网(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的更多相关文章

  1. JS基础语法---JSON格式的数据

         1. 对象: 有属性和方法,特指的某个事物     对象: 一组无序属性的集合的键值对,属性的值可以是任意的类型   2.JSON格式的数据:一般都是成对的,是键值对,     json也是 ...

  2. ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理

    话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性 ...

  3. MVC学习系列6--使用Ajax加载分部视图和Json格式的数据

    Ajax的应用在平时的工作中,很是常见,这篇文章,完全是为了,巩固复习. 我们先看看不使用json格式返回分部视图: 先说需求吧: 我有两个实体,一个是出版商[Publisher],一个是书[Book ...

  4. asp.net MVC控制器中返回JSON格式的数据时提示下载

    Asp.net mvc在接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("# ...

  5. SQLyog-直接导出JSON格式的数据

          前言:以前做过的一个项目,有这样的一个需求使用搜索引擎来查询对应的区域信息,不过区域信息要先导出来,并且数据格式是JSON格式的,在程序中能实现这个需求,不过下面的这种方法更加的简单,通过 ...

  6. hive中导入json格式的数据(hive分区表)

    hive中建立外部分区表,外部数据格式是json的如何导入呢? json格式的数据表不必含有分区字段,只需要在hdfs目录结构中体现出分区就可以了 This is all according to t ...

  7. $.ajax返回的JSON格式的数据后无法执行success的解决方法

    近段时间做项目,在项目使用了ajax技术,遇到了一个奇怪的问题:"$.ajax返回的JSON格式的数据无法执行success",代码是这样写的: 1 $.ajax({ 2 .. 3 ...

  8. Android Volley获取json格式的数据

    为了让Android能够快速地访问网络和解析通用的数据格式Google专门推出了Volley库,用于Android系统的网络传输.volley库可以方便地获取远程服务器的图片.字符串.json对象和j ...

  9. jmeter随笔(1)-在csv中数据为json格式的数据不完整

    昨天同事在使用jmeter遇到问题,在csv中数据为json格式的数据,在jmeter中无法完整的取值,小怪我看了下,给出解决办法,其实很简单,我们一起看看,看完了记得分享给你的朋友. 问题现象: 1 ...

  10. mybatis 处理数组类型及使用Json格式保存数据 JsonTypeHandler and ArrayTypeHandler

    mybatis 比 ibatis 改进了很多,特别是支持了注解,支持了plugin inteceptor,也给开发者带来了更多的灵活性,相比其他ORM,我还是挺喜欢mybatis的. 闲言碎语不要讲, ...

随机推荐

  1. 不显示TensorFlow加速指令警告

    vim ~/.bashrc 在打开的文件中追加: export TF_CPP_MIN_LOG_LEVEL= 最后再执行 source ~/.bashrc

  2. 关于K8S证书生成方面的脚本草稿

    周日在家里计划的. 俺不加班,但在家学习的时间一样没少! 还没弄完,只粗粗弄了etcd证书. #! /usr/bin/env bash set -e set -u set -x THIS_HOST=$ ...

  3. kickstart-G

    感觉自己很蠢,large数据只能交一次,忘记这回事了 A题 O(n^2)解法,用vector<set> 缓存j后面的数据,减少一重循环 #include <string> #i ...

  4. 如何区分oracle服务器、oracle客户端、plsql?

    大家在安装oracle数据库的时候,是不是有很多区分不清的概念,以至于束手无策呢?现在有一个问题,就是怎么区分oracle服务器.oracle客户端.plsql三者的概念?我想,新手在安装的时候可能会 ...

  5. python对象、引用

    1.python对象 python中 所有的python对象都有3个特征: 身份,类型和值 身份: 每个对象有一个唯一的身份标识自己,这个值可以被认为是该对象内存地址.id()查看. 类型 type( ...

  6. 前端接口自动化测试工具-DOClever使用介绍(转载)

    DOClever 不仅集成了文档编写,团队协作,接口运行,mock 数据等功能,还有两个功能是让我们团队大大的提高工作效率的.一个是接口的自动化生成,可以根据接口数据自动生成文档信息,还有一个便是本文 ...

  7. jav实验二

    实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D原则 5.了解设计模式 实验内容 1.参考Intellj ID ...

  8. siege压力测试工具安装和介绍

    Siege是linux下的一个web系统的压力测试工具,支持多链接,支持get和post请求,可以对web系统进行多并发下持续请求的压力测试. 安装 Siege #wget http://www.jo ...

  9. mybatis相关知识

    @param解释为映射mapper.xml中的传参 mybatis中批量新增时用foreach循环,注意其中的collection属性,有list,数组 注意foreach中sql函数的写法,orac ...

  10. Flume的概述和安装部署

    一.Flume概述 Flume是一种分布式.可靠且可用的服务,用于有效的收集.聚合和移动大量日志文件数据.Flume具有基于流数据流的简单灵活的框架,具有可靠的可靠性机制和许多故障转移和恢复机制,具有 ...