用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

我是这样读取的

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

做此记录只为了学习

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • python读取word文档,插入mysql数据库的示例代码

    表格内容如下: 1.实现批量导入word文档,取文档标题中的数字作为编号 2.除取上面打钩的内容需要匹配出来入库入库,其他内容全部直接入库mysql # wuyanfeng # -*- coding:utf-8 -*- # 读取docx中的文本代码示例 import docx import pymysql import re import os # 创建数据库链接 conn = pymysql.connect( host='rm-bp1vu5d84dg12c6d59o.mysql.rds.ali

  • 对Python3+gdal 读取tiff格式数据的实例讲解

    1.遇到的问题:numpy版本 im_data = dataset.ReadAsArray(0,0,im_width,im_height)#获取数据 这句报错 升级numpy:pip install -U numpy 但是提示已经是最新版本 解决:卸载numpy 重新安装 2.直接从压缩包中读取tiff图像 参考:http://gdal.org/gdal_virtual_file_systems.html#gdal_virtual_file_systems_vsizip 当前情况是2层压缩: /

  • 使用python的pandas库读取csv文件保存至mysql数据库

    第一:pandas.read_csv读取本地csv文件为数据框形式 data=pd.read_csv('G:\data_operation\python_book\chapter5\\sales.csv') 第二:如果存在日期格式数据,利用pandas.to_datatime()改变类型 data.iloc[:,1]=pd.to_datetime(data.iloc[:,1]) 注意:=号,这样在原始的数据框中,改变了列的类型 第三:查看列类型 print(data.dtypes) 第四:方法一

  • python3 读取Excel表格中的数据

    需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- coding:utf-8 -*- import openpyxl def getCell(wb, sheetname, column): #指定读取哪个Sheet(每个excel表格默认有三个Sheet:Sheet1,Sheet2,Sheet3) table = wb[sheetname] #读取哪一列数据 cell = table[colum

  • python 读取.csv文件数据到数组(矩阵)的实例讲解

    利用numpy库 (缺点:有缺失值就无法读取) 读: import numpy my_matrix = numpy.loadtxt(open("1.csv","rb"),delimiter=",",skiprows=0) 写: numpy.savetxt('2.csv', my_matrix, delimiter = ',') 可能遇到的问题: SyntaxError: (unicode error) 'unicodeescape' codec

  • Python从数据库读取大量数据批量写入文件的方法

    使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存. 下面是代码作用是将数据从数据库读取出来分批次写入txt文本文件,方便我们做数据的预处理和训练机器学习模型. #%% import pymssql as MySQLdb #这里是python3 如果你是python2.x的话,import MySQLdb #数据库连接属性 hst = '188.10.34.18' usr = 'sa' passwd = 'p@ssw0rd'

  • python分块读取大数据,避免内存不足的方法

    如下所示: def read_data(file_name): ''' file_name:文件地址 ''' inputfile = open(file_name, 'rb') #可打开含有中文的地址 data = pd.read_csv(inputfile, iterator=True) loop = True chunkSize = 1000 #一千行一块 chunks = [] while loop: try: chunk = dcs.get_chunk(chunkSize) chunks

  • python读取excel指定列数据并写入到新的excel方法

    如下所示: #encoding=utf-8 import xlrd from xlwt import * #------------------读数据--------------------------------- fileName="C:\\Users\\st\\Desktop\\test\\20170221131701.xlsx" bk=xlrd.open_workbook(fileName) shxrange=range(bk.nsheets) try: sh=bk.sheet

  • python使用numpy读取、保存txt数据的实例

    1.首先生成array数组 import numpy as np a = np.random.rand(5,5) print(a) 结果: array([[0.17374613, 0.87715267, 0.93111376, 0.53415215, 0.59667207], [0.6865835 , 0.15873242, 0.2842251 , 0.73840834, 0.37163279], [0.06556834, 0.68446787, 0.91136611, 0.82796704,

  • python3 cvs将数据读取为字典的方法

    如下所示: import csv with open("csv.csv",'r',encoding="utf-8") as f: reader = csv.reader(f) fieldnames = next(reader)#获取数据的第一列,作为后续要转为字典的键名 生成器,next方法获取 # print(fieldnames) csv_reader = csv.DictReader(f,fieldnames=fieldnames) #self._fieldn

随机推荐