[Python-talk] How would one do something like this?

bruce.labitt at autoliv.com bruce.labitt at autoliv.com
Wed Dec 10 11:54:36 EST 2008


Given a large text file of say 10M lines, how could one go to the 
4,099,998th line and extract data for the next n lines? 

If one assumes the file can be read completely in one swoop, then one 
could do

inFile = file('tmp.txt','r')
lines = inFile.readlines()              # read whole file all at once
inFile.close()                          # close inFile

startline = 4099998-1
for ii in range(0,n)
  x[ii] = double(lines[startline+ii].strip())  # etc, etc...

???

Any other approaches?  What to do as the file size increases, say to be 
large enough it will not fit in RAM?
The dataset I am extracting is a subsection of the file.

I have been reading line by line, but it is excruciatingly slow... 
especially when the file is 200M lines!
(5GB file!)

Thanks
Bruce


* Please note that the Tyco Electronics Automotive Radar Sensors Group was 
acquired by Autoliv on September 26th, 2008.  My new contact information 
at Autoliv is included below.  Please update your records accordingly.  

Bruce Labitt
Autoliv Electronics
1011B Pawtucket Blvd, PO Box 1858
Lowell, MA  01853

Email: bruce.labitt at autoliv.com. 
Tel:  (978) 674-6526
Fax: (978) 674-6581 

******************************
Neither the footer nor anything else in this E-mail is intended to or constitutes an <br>electronic signature and/or legally binding agreement in the absence of an <br>express statement or Autoliv policy and/or procedure to the contrary.<br>This E-mail and any attachments hereto are Autoliv property and may contain legally <br>privileged, confidential and/or proprietary information.<br>The recipient of this E-mail is prohibited from distributing, copying, forwarding or in any way <br>disseminating any material contained within this E-mail without prior written <br>permission from the author. If you receive this E-mail in error, please <br>immediately notify the author and delete this E-mail.  Autoliv disclaims all <br>responsibility and liability for the consequences of any person who fails to <br>abide by the terms herein. <br>
******************************


More information about the Python-talk mailing list