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

来源:互联网 发布:淘宝客服工资待遇 编辑:程序博客网 时间:2024/05/22 14:30

今天来谈一谈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 sysimport urllib,urllib2import json# 获取到目标URL的JSON数据串def getHtml(url):    page = urllib2.urlopen(url)    html = page.read()    return htmldef parseTOUTF8(data):    data = json.loads(data)    content = data['weatherinfo']    result = json.dumps(content,ensure_ascii=False)    return resultdef prettyData(data):    result = 'My Weather Info :\n'    for item in data:        result = result + item + '\t' + data[item] + '\n'    return resultdef 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字符串简单多了吧。

1 0
原创粉丝点击