分析python处理基本数据<一>
2016-07-18 14:32
686 查看
将代码分割开来分析:
关于import linecache
从网上查到linecache模块的作用是将文件读取到内存中,进行缓存,而不是每次都要从硬盘中读取,相比open方法快很多,是读取效率之源。
它也有他的读取文本的方式 getlines和getline
而time.time()是返回当前时间戳(1970年后的浮点秒数)
关于xrange()和range()
xrange()是一个类,返回的是一个xrange对象,range返回的是一个列表,使用xrange遍历每次只返回一个值,range一次计算并返回所有值,因此xrange效率比range高
另外这种构造list的方法很值得学习 后面还有users = set(line[keys[username]] for line in lines),这样就构造了一个set,将set转换成list只要一步,比如
users = list(users) 这是users就从set变成了list
# coding=utf-8 import linecache import time now = time.time() # 代码开始时间 # 前期准备,整理数据 data_keys = ('bid', 'uid', 'username', 'v_class', 'content', 'img', 'created_at', 'source', 'rt_num', 'cm_num', 'rt_uid', 'rt_username', 'rt_v_class', 'rt_content', 'rt_img', 'src_rt_num', 'src_cm_num', 'gender', 'rt_bid', 'location', 'rt_mid', 'mid', 'lat', 'lon', 'lbs_type', 'lbs_title', 'poiid', 'links', 'hashtags', 'ats', 'rt_links', 'rt_hashtags', 'rt_ats', 'v_url', 'rt_v_url') keys = {data_keys[k]: k for k in xrange(0, len(data_keys))} f = linecache.getlines('t.txt') lines = [x[1:-2].split('","') for x in f]
关于import linecache
从网上查到linecache模块的作用是将文件读取到内存中,进行缓存,而不是每次都要从硬盘中读取,相比open方法快很多,是读取效率之源。
它也有他的读取文本的方式 getlines和getline
test.txt liuhao fighting you can trust you believe in yourself
import linecache A = linecache.getlines('test.txt') # 打开文件返回一个列表,包含文件所有行。
B = linecache.getlines('test.txt')[0:2] # 打开文件的0,1两行作为一个列表 C = linecache.getline('test.txt', 4) # 打开文件的第四行,这里面4表示第几行从1开始算起
['liuhao\n', 'fighting\n', 'you can\n', 'trust you\n', 'believe in yourself\n'] ['liuhao\n', 'fighting\n'] trust you
而time.time()是返回当前时间戳(1970年后的浮点秒数)
import time print time.time()
关于xrange()和range()
xrange()是一个类,返回的是一个xrange对象,range返回的是一个列表,使用xrange遍历每次只返回一个值,range一次计算并返回所有值,因此xrange效率比range高
x = range(0, 5) print x y = xrange(0, 5) print y print y[0]
得到:
<span style="font-family: Arial, Helvetica, sans-serif;">[0, 1, 2, 3, 4]</span>
xrange(5) 0关于他给的答案中拆分是lines = [x[1:-1].split('","') for x in f],这里面我给x[1:-1]改成了x[1:-2],因为结尾除了‘\n’还有一个”,这样保证lines中每个数据都不带引号
另外这种构造list的方法很值得学习 后面还有users = set(line[keys[username]] for line in lines),这样就构造了一个set,将set转换成list只要一步,比如
users = list(users) 这是users就从set变成了list
相关文章推荐
- python学习笔记:extend和apend;strip,split,filter,map
- Python方法之zip
- python某一目录下指定格式的文件路径保存到指定格式的文件中
- 删除python读取的txt每一行尾部的\n
- python访问mysql将返回的表转化为json
- Python中的cls与self的区别
- Python模块之os
- Python 结巴分词(1)分词
- ubuntu下安装 ipython notebook
- 梯度下降原理及Python实现
- Python数据可视化之Matplotlib学习笔记
- Python2.7.x基础教程笔记--input与raw_input的区别
- python post方式 上传文件到php服务器
- python的排序函数
- python lxml库etree解析html
- ubuntu下如何使用mysql/python中如何调用sql新建一个数据库
- python类库[进程subprocess与管道pipe]
- python第三库安装方法记录
- python批量重命名文件
- Python——4Dict和Set类型