利用Python读取json数据并求数据平均值
要做的事情:一共十二个月的json数据(即12个json文件),json数据的一个单元如下所示。读取这些数据,并求取各个(100多个)城市年、季度平均值。
{
"time_point": "2014-01",
"area": "***",
"aqi": "71",
"pm2_5": "47",
"pm10": "69",
"rank": "7"
}
我通过两个步骤来实现这个事情,读取json并导入sqlite,按需要查找数据库数据并计算平均值。先导入数据库这个举动有些显得多余,但是也让数据井然有序地处理。
遍历文件夹12个json文件用os.walk。在解析了json数据(例如,j = json.load(f))后,发现这个json数据是分两层的,不过只要像dict一样索引就可以了,无非是索引两层(例如,data = j['rows'],pm25 = data[i]['pm2_5'],其中i是json单元个数遍历)。接着就导入数据库,第一部分做完。
从数据库取值然后计算倒没什么,就是取值rows = conn.execute("select ****") for row in rows 遍历一下。有一个异常不得不提,最后平均值插入表时出现了:“sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.” 在Stack Overflow找到回答:connection =sqlite3.connect(...) connection.text_factory = str。也没深究,问题解决了。涉及到中文很容易出现这个毛病。
利用Python读取json数据并求数据平均值的更多相关文章
- 利用Python读取外部数据文件
不论是数据分析,数据可视化,还是数据挖掘,一切的一切全都是以数据作为最基础的元素.利用Python进行数据分析,同样最重要的一步就是如何将数据导入到Python中,然后才可以实现后面的数据分析.数 ...
- 接口自动化(三)--读取json文件中的数据
上篇讲到实际的请求数据放置在json文件内,这一部分记述一下python读取json文件的实现. 代码如下(代码做了简化,根据需要调优:可做一些容错处理): 1 import json 2 3 cla ...
- 利用python爬取58同城简历数据
利用python爬取58同城简历数据 利用python爬取58同城简历数据 最近接到一个工作,需要获取58同城上面的简历信息(http://gz.58.com/qzyewu/).最开始想到是用pyth ...
- 利用Python进行数据分析(12) pandas基础: 数据合并
pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法c ...
- Python读取JSON数据,并解决字符集不匹配问题
今天来谈一谈Python解析JSON数据,并写入到本地文件的一个小例子. – 思路如下 从一个返回JSON天气数据的网站获取到目标JSON数据串 使用Python解析出需要的部分 写入到本地文件,供其 ...
- 【python 3.6】python读取json数据存入MySQL(一)
整体思路: 1,读取json文件 2,将数据格式化为dict,取出key,创建数据库表头 3,取出dict的value,组装成sql语句,循环执行 4,执行SQL语句 #python 3.6 # -* ...
- 利用Python进行数据分析 第6章 数据加载、存储与文件格式(2)
6.2 二进制数据格式 实现数据的高效二进制格式存储最简单的办法之一,是使用Python内置的pickle序列化. pandas对象都有一个用于将数据以pickle格式保存到磁盘上的to_pickle ...
- pyhton读取json格式的气象数据
原文关于读取pm25.in气象数据的pyhton方法,以及浅析python json的应用 以pm25.in网站数据为例. 1.方法介绍 首先感谢pm25.in提供了优质的空气污染数据,为他们的辛勤劳 ...
- python读取三维点云球坐标数据并动态生成三维图像与着色
关键步骤: 1.首先通过读取.txt文本数据并进行一系列字符串处理,提取显示所需要的相关数据矩阵 2.然后利用python的matplotlib库来进行动态三维显示 备注:matplotlib在显示2 ...
随机推荐
- 【HDOJ】4628 Pieces
最开始的想法是搜索,发现不对,后来发现数据量很小,可以状态压缩+DP. /* 4628 */ #include <cstdio> #include <cstring> #inc ...
- COJ 0538 购物问题
购物问题 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 由于换季,ACM商场推出优惠活动,以超低价格出售若干种商品.但是,商场 ...
- 【转】no resource found @integer/google_play_services_version whats this?
原文网址:http://stackoverflow.com/questions/24325333/no-resource-found-integer-google-play-services-vers ...
- SqlServer新建视图
一.使用SQL Server 2005数据库管理系统创建视图 1. 启动SQL Server 2005. 2. 在“对象资源管理器”窗口中找到Student数据库,打开Student文件夹,在“视图” ...
- lr 增强窗格中,如何生成调试信息?
我是根据电子书来操作的, 如何生成调试信息?在测试运行的某些时候,经常需要向输出设备发送消息,指出当前位置和其他信息.这些输出消息会出现在回放日志和 Controller 的输出窗口中.可以发送标准输 ...
- gtest代码库浅析
代码库工程概述 IDE:Visual Studio 2010 sln路径:gtest\msvc\gtest.sln 用IDE打开上面的sln,可以看到以下四个工程,算不上复杂.展开之后更是感觉这几个工 ...
- L - Vases and Flowers - hdu 4614(区间操作)
题意:有两种操作,第一种从A开始插花,如果有花就跳到下一个,然后输出最后一个花瓶的编号,如果花瓶不够把多余的花丢掉.操作2把区间清空 分析:很明显的线段树操作,就是插花的时候麻烦一下,需要先找出来他剩 ...
- Runtime.getRuntime().addShutdownHook(shutdownHook);
今天在阅读Tomcat源码的时候,catalina这个类中使用了下边的代码,不是很了解,所以google了一下,然后测试下方法,Tomcat中的相关代码如下: Runtime.getRuntime() ...
- Hibernate 入门的第一个程序
一. Hibernate介绍 Hibernate是基于对象/关系映射(ORM,Object/Relational Mapping)的一个解决方案.ORM方案的思想是将对象模型表示的对象映射到关 ...
- SAX PULL解析实例
XML三种解析方式: SAX解析:基于事件驱动,事件机制基于回调函数的,得到节点和节点之间内容时也会回调事件 PULL解析:相同基于事件驱动,仅仅只是回调时是常量 DOM解析:是先把XML文件装入内存 ...