用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设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

python 进程的几种创建方式详解

在新创建的子进程中,会把父进程的所有信息复制一份,它们之间的数据互不影响。 使用os.fork()创建 该方式只能用于Unix/Linux操作系统中,在windows不能用。 im...

Python中使用 Selenium 实现网页截图实例

Selenium 是一个可以让浏览器自动化地执行一系列任务的工具,常用于自动化测试。不过,也可以用来给网页截图。目前,它支持 Java、C#、Ruby 以及 Python 四种客户端语言...

详谈Python2.6和Python3.0中对除法操作的异同

Python中除法有两种运算符:'/'和'//';有三种类型的除法:传统除法、Floor除法和真除法。 X / Y类型: 在Python2.6或者之前,这个操作对于整数运算会省去小数部分...

python实现目录树生成示例

复制代码 代码如下:#!/usr/bin/env python# -*- coding: utf-8 -*-import osimport optparse LOCATION_NONE&...

Python获取Redis所有Key以及内容的方法

一、获取所有Key # -*- encoding: UTF-8 -*- __author__ = "Sky" import redis pool=redis.Connection...