Py第六问 py3.5学习笔记<利用python进行数据分析>

2016年9月22日

第二章

来自bit.ly的1.usa.gov数据

import json

path = '/home/python3/data/pydata-book-master/ch02/usagov_bitly_data2012-03-16-1331923249.txt'
#records = [json.loads(line) for line in open(path)]
with open(path) as jsonfile:
    data = json.load(jsonfile)

问题1:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 228171: ordinal not in range(128)

解决

Python 3 decodes text files when reading. The default encoding is taken from locale.getpreferredencoding(False), which evidently for your setup returns 'ASCII'. See the open() function documenation:

In text mode, if encoding is not specified the encoding used is platform dependent: locale.getpreferredencoding(False) is called to get the current locale encoding.

Instead of relying on a system setting, you should open your text files using an explicit codec:

currentFile = open(filename, 'rt', encoding='latin1')

where you set the encoding parameter to match the file you are reading.

Python 3 supports UTF-8 as the default for source code.

You may want to read up on Python 3 and Unicode in the Unicode HOWTO, which explains both about source code encoding and reading and writing Unicode data.

import json

path = '/home/python3/data/pydata-book-master/ch02/usagov_bitly_data2012-03-16-1331923249.txt'
#records = [json.loads(line) for line in open(path)]
with open(path) as jsonfile:
    data = json.load(jsonfile.encoding("latin1"))
问题二

TypeError: 'str' object is not callable






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值