Python处理json数据--世界国家维度数据
1.准备国家的json数据
将准备好的json数据放在指定的目录下,此处可以重这里下载
2.测试编写python脚本处理json提取字段值
#coding:utf8
import time, re, os, sys, time,urllib2,shutil,string
import json,datetime #设置utf-8编码格式
reload(sys)
sys.setdefaultencoding( "utf-8" ) #获取当前日期的前n天
def getbeforeDay(n=0):
now_time = datetime.datetime.now()
beforeday = now_time - datetime.timedelta(n)
return beforeday.strftime("%Y%m%d") scriptDir = os.getcwd() if len(sys.argv) > 1 :
job_date_id = sys.argv[1]
else :
job_date_id = getbeforeDay(0) print "当前脚本路径:%s,当前参数日期:%s" % (scriptDir,job_date_id) srcdata='{"area":"390,580","code":"263","en":"Zimbabwe","cn":"津巴布韦","iso2":"ZW","iso3":"ZWE","population":"11,651,858"}' jsondata = json.loads(srcdata)
print type(jsondata) print "######遍历key,values######"
for key in jsondata.keys():
print key,":",jsondata[key] print "####或者指定key,返回结果####"
print jsondata['code'],jsondata['cn'],jsondata['en'],jsondata['area'],jsondata['population']
3.读取文本循环遍历提取字段值
#coding:utf8
import requests, json, time, re, os, sys, time,urllib2,shutil,string
import json,datetime #设置utf-8编码格式
reload(sys)
sys.setdefaultencoding( "utf-8" ) #读取文件内容
def getLines(filename):
file_object = open(filename,'rb')
lines = file_object.readlines()
return lines #返回规范字符串
def getFormateContext(*name):
format = ','
context = name[0]
for i in name[1:]:
context = context + format + str(i)
context = str(context).replace('(', '(').replace(')', ')').replace(',', ',').replace(':', ':')
return context def getbeforeDay(n=0):
now_time = datetime.datetime.now()
beforeday = now_time - datetime.timedelta(n)
return beforeday.strftime("%Y%m%d") #写文件
def Write(filename,context,model='a'):
#去除首位空格
filename = filename.strip()
#读取目录名称
path = os.path.dirname(filename)
#如果目录不存在则创建目录
if not os.path.exists(path):
pass
#读取文件名称
name = os.path.basename(filename)
fp = open(filename,model)
fp.write(context+'\n')
fp.close() scriptDir = os.getcwd() if len(sys.argv) > 1 :
job_date_id = sys.argv[1]
else :
job_date_id = getbeforeDay(10) print "当前脚本路径:%s,当前参数日期:%s" % (scriptDir,job_date_id) filename="%s\/jsondata\/country.json" % (scriptDir) for line in getLines(filename):
line = line.strip()
line = line[1:]
line = line[:-2]
for value in line.split("},"):
srcdata = value+"}"
#print srcdata
print srcdata
jsondata = json.loads(srcdata) #国家代码
code = jsondata['code']
#国家中文名称
cn = jsondata['cn']
#国家英文名称
en = jsondata['en']
#面积
area = jsondata['area'].replace(',','')
#人口
population = jsondata['population'].replace(',','')
#iso2
iso2 = jsondata['iso2']
#iso3
iso3 = jsondata['iso3']
#print code,cn,en,area,population,iso2,iso3
context = getFormateContext(code,cn,en,area,population,iso2,iso3)
print context
Write("country.csv", context, model='a')
4.最终处理数据结果
CSV格式:
Excel格式:
Python处理json数据--世界国家维度数据的更多相关文章
- python操作json来存储简单的数据,pickle来操作复杂的数据
json作为不同语言间进行数据交互的媒介,在当下已经渐渐取代了之前的xml,看一波python操作json # coding = ascii import json import pickle imp ...
- python通过json读写序列类型的数据文件
import json class a: def writeReadJson(self): list2 =['] with open("test.txt",'w') as f: j ...
- 使用Python解析JSON数据的基本方法
这篇文章主要介绍了使用Python解析JSON数据的基本方法,是Python入门学习中的基础知识,需要的朋友可以参考下: ----------------------------------- ...
- Python处理json格式的数据文件(一些坑、一些疑惑)
这里主要说最近遇到的一个问题,不过目前只是换了一种思路先解决了,脑子里仍然有疑惑,只能怪自己太菜. 最近要把以前爬的数据用一下了,先简单的过滤一下,以前用scrapy存数据的时候为了省事也为了用一下它 ...
- 【机器学习实验】学习Python来分类现实世界的数据
引入 一个机器能够依据照片来辨别鲜花的品种吗?在机器学习角度,这事实上是一个分类问题.即机器依据不同品种鲜花的数据进行学习.使其能够对未标记的測试图片数据进行分类. 这一小节.我们还是从scikit- ...
- Python读取JSON数据,并解决字符集不匹配问题
今天来谈一谈Python解析JSON数据,并写入到本地文件的一个小例子. – 思路如下 从一个返回JSON天气数据的网站获取到目标JSON数据串 使用Python解析出需要的部分 写入到本地文件,供其 ...
- python字典转化成json格式。JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换
遇到问题:进行Webservice接口测试时,对接口入参数据进行了处理,变成了dict格式,去进行接口请求报错. 需要转成成json格式,双引号去扩. 如下: 更改代码: # 在Python标准库的j ...
- python中json格式数据输出实现方式
python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...
- Python解析JSON数据的基本方法
转自:http://www.jb51.net/article/73450.htm JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScri ...
随机推荐
- 在tomcat中的conf文件夹下找server.conf 配置如下代码,可省略项目名路径访问 如 localhost:8080 即可访问到项目
<Context path="" docBase="C:\Workspaces\Projects\SLSaleSystem_dw\WebRoot" rel ...
- mysql数据库优化总结 有图 有用
对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要.一般来说,要保证数据库的效率,要做好以下四个方面的工作:数据库设计.sql语句优化.数据库参数配置.恰当的硬件资源 ...
- leetCode--towSum
题目链接:https://leetcode.com/problems/two-sum/description/ 此题的意思是:给定一个target值,从给定的数组中找两个数,使得这两个数的和==tar ...
- 洛谷 P2569[SCOI2010]股票交易(动规+单调队列)
//只能写出裸的动规,为什么会有人能想到用单调队列优化Orz 题目描述 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测 ...
- [Training Video - 3] [Groovy in Detail] What is a groovy class ?
log.info "starting" // we use class to create objects of a class Planet p1 = new Planet() ...
- 通过MySql自动同步刷新redis
在服务端开发过程中,一般会使用MySQL等关系型数据库作为最终的存储引擎,Redis其实也可以作为一种键值对型的数据库,但在一些实际场景中,特别是关系型结构并不适合使用Redis直接作为数据库.这俩家 ...
- 单一入口及MVC目录规范
单一入口指在一个web应用程序中,所有的请求都是指向一个脚本文件,例如我们经常看到某一个网站所有的页面都是index.php?xxxx这样的形式.所有对使用程序的访问都是必须通过这个入口. 目录规范:
- maven 引用本地jar
1.添加lib文件夹在src文件夹中.2.拷贝所需要的test.jar包到lib文件夹.3.在pom文件加入如下依赖 <!--添加本地私有包--><dependency> &l ...
- 云存储上传控件(cloud2)-Xproer.HttpUploader7
版权所有 2009-2016 荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/cloud2/ ...
- (转)走进AngularJs(六) 服务
原文地址:http://www.cnblogs.com/lvdabao/p/3464015.html 今天学习了一下ng的service机制,作为ng的基本知识之一,有必要做一个了解,在此做个笔记记录 ...