[分享] Python Pandas之学习(Lesson_1)
483 查看
4 回复
 楼主 | 发布于 2018-04-15 | 只看楼主
分享到:


Python有许多内置或者第三方的模块可以将字符串转换成python的字典对象。这里我们将使用json模块以及其load函数进行逐行加载数据文件:

import json

path = './Python Data Analysis Example_1.txt'

records = [json.loads(line) for line in open(path)]

print(records[0])

还有一个与之目的一致的代码,但是更容易解读。

import json

path = './Python Data Analysis Example_1.txt'

text = open(path).readline()

jsontext = json.loads(text)

print(jsontext)

输出结果:

{'a': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.78 Safari/535.11', 'c': 'US', 'nk': 1, 'tz': 'America/New_York', 'gr': 'MA', 'g': 'A6qOVH', 'h': 'wfLQtf', 'l': 'orofrog', 'al': 'en-US,en;q=0.8', 'hh': '1.usa.gov', 'r': 'http://www.facebook.com/l/7AQEFzjSi/1.usa.gov/wfLQtf', 'u': 'http://www.ncbi.nlm.nih.gov/pubmed/22415991', 't': 1331923247, 'hc': 1331822918, 'cy': 'Danvers', 'll': [42.576698, -70.954903]}

现在我们基于第一个程序进行下面的学习。现在records对象就称为了一组python字典了。现在只要以字符串形式给出想要造访的key就可以得到相应的值了:

print(records[0]['tz'])

输出结果:

America/New_York


假如想要知道该数据集中最常出现的是那个时区,我们可以用列表推导式取出一组10个地区的时区:

time_zones = [rec['tz'] for rec in records if 'tz' in rec]

print(time_zones[:10])

输出结果:

['America/New_York', 'America/Denver', 'America/New_York', 'America/Sao_Paulo', 'America/New_York', 'America/New_York', 'Europe/Warsaw', '', '', '']

我们发现最后三个时区是空。虽然可以过滤掉,但是先保留。

NEXT。。。

(0 ) (0 )
回复 举报

回复于 2018-04-15 沙发

感谢分享;
(0 )
评论 (0) 举报

回复于 2018-04-16 2#

感谢分享
(0 )
评论 (0) 举报

回复于 2018-04-16 3#

多谢分享!!!
(0 )
评论 (0) 举报

回复于 2018-04-17 4#

谢谢分享!!!
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部