您的位置:首页 > 编程语言 > Python开发

Python读取JSON数据,并解决字符集不匹配问题

2016-05-21 19:03 746 查看
今天来谈一谈Python解析JSON数据,并写入到本地文件的一个小例子。



思路如下

从一个返回JSON天气数据的网站获取到目标JSON数据串

使用Python解析出需要的部分

写入到本地文件,供其他的应用程序读取

完成整个业务需求

原料

一个可以获得天气信息的URL网址,如天气信息接口

读取到的结果:(由于是浏览器显示的时候的编码与之不匹配,故出现了乱码,但这并不影响我们对数据的处理)

{"weatherinfo":{"city":"鍖椾含","cityid":"101010100","temp":"18","WD":"涓滃崡椋�","WS":"1绾�","SD":"17%","WSE":"1","time":"17:05","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"鏆傛棤瀹炲喌","qy":"1011","rain":"0"}}


代码示例

import sys
import urllib,urllib2
import json

# 获取到目标URL的JSON数据串
def getHtml(url):
page = urllib2.urlopen(url)
html = page.read()
return html

def parseTOUTF8(data):
data = json.loads(data)
content = data['weatherinfo']
result = json.dumps(content,ensure_ascii=False)
return result

def prettyData(data):
result = 'My Weather Info :\n'
for item in data:
result = result + item + '\t' + data[item] + '\n'
return result

def writeToLocal(filepath,filename,data):
file = os.open(path+filename,'wb')
file.write(data)
file.close()
print '数据已经成功写入到本地文件'

if __name__ == "__main__":
url = 'http://www.weather.com.cn/data/sk/101010100.html'
page = getHtml(url)
text = parseTOUTF8(page)
content = prettyData(text)
path=r'F:\MyWeatherInfo.txt'
write(path,'',content)
print '天气信息获取并更新完毕'


下一步

这样就算完成了。接下来就是使用其他的语言或者仍旧使用Python读取这些数据,然后做些其他的处理了。这相比于使用Java获取网络数据,然后解析JSON字符串简单多了吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: