Mag Gam a écrit :
I have a compressed CSV gziped file.

Then gunzip it first...

I was wondering if it is possible
to seek thru a file

For example:

I want to load the first 100 lines into an array. Process the data

Seek from 101 line to 200 lines. Process the data (remove lines 0 -
100) from memory

Seek 201 to 300 line. Process the data (remove 200-300)) from memory

etc..etc..

Yes, you can... Now is there any reason you want to micro-manage stuff already managed by Python and the file system ?-)

To iterate on a text file's lines, just open the file - the file object is it's own iterator, and will (with help from the filesystem AFAIK) properly handle cache, buffers and whatnot. The canonical code snippet is:

# iterating over a file line by line without
# loading the while file in memory
f = open("/path/to/some/file.txt")
for line in f:
    do_something_with(line)

f.close()


Unless you have a good reason (micro-managing IO buffers not being one) to want to work by 100-lines batch, then this should be just enough.

Now note that Python also have a csv module in the standard lib, which will probably (except perhaps in a very few corner cases) be more robust and efficient that whatever you'd write.


HTH
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to