用Python读取几十万行文本数据

yipeiwu_com5年前Python基础

我在使用python读取几十万行的文件中的数据,并构造字典,列表等数据结构时,再访问字典,列表时,一般都会出现内存不够的问题,然后只能循环读取几百行或者一定数量的行数来循环操作。

keyword_list=[line.strip() for line in open("keywords.txt",'r')]
#f1=open("part_wiki_vec.txt",'r')
f1=open("wiki_vectors.txt")
f2=open("result.txt",'w')
i=0
content=f1.readlines()
while i<1150:
 for line in content[300*i:300*(i+1)]:
  line=line.strip().split(' ')
  if line[0] in keyword_list:
   wordvec=' '.join(line)
   print wordvec
   f2.write(wordvec)
  #print line
 i+=1

我是这样读取的

应该还有很多好的方法,比如多线程等等。

做此记录只为了学习

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

pandas进行数据的交集与并集方式的数据合并方法

数据合并有多种方式,其中最常见的应该就是交集和并集的求取。之前通过分析总结过pandas数据merge功能默认的行为,其实默认下求取的就是两个数据的“交集”。 有如下数据定义: In...

Python 内置函数memoryview(obj)的具体用法

memoryview() 函数返回给定参数的内存查看对象(Momory view)。 语法 memoryview 语法:memoryview(obj) 参数说明:obj -- 对象...

python中比较两个列表的实例方法

cmp() 方法用于比较两个列表的元素。 cmp()方法语法: cmp(list1, list2) 参数: list1 -- 比较的列表。list2 -- 比较的列表。 返回值:...

PyTorch实现AlexNet示例

PyTorch实现AlexNet示例

PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks import torch import torch.nn...

Python 探针的实现原理

探针的实现主要涉及以下几个知识点: sys.meta_path sitecustomize.py sys.meta_path sys.meta_path 这个简单的来说就是可以实现 im...