Foros del Web » Programando para Internet » Python »

Leer x linea de un archivo CSV

Estas en el tema de Leer x linea de un archivo CSV en el foro de Python en Foros del Web. Buenas tardes a todos! (o lo que corresponda! jeje). En esta ocasion, y luego de buscar en las FAQ'S y en google, y no encontrar ...
  #1 (permalink)  
Antiguo 14/05/2009, 11:01
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Leer x linea de un archivo CSV

Buenas tardes a todos! (o lo que corresponda! jeje).

En esta ocasion, y luego de buscar en las FAQ'S y en google, y no encontrar respuesta, queria saber si me podian ayudar con un problema que tengo al leer archivos csv.

La pregunta es simple, y seguramente la respuesta tambien, pero no logro encontrarla y es si es posible comenzar a leer un archivo csv desde un registro x (digamos, por la linea 10), y como se realizaria ese metodo.

Del mismo modo, y lo mas importante es, si este metodo (si es que existe) lo que hace es leer todo el archivo nuevamente hasta llegar a ese registro, o va directamente a ese registro. Porque si lee todo el archivo hasta llegar a ese registro, no me sirve, pues estoy trabajando con archivos muy grandes (el padron electoral) y la idea seria recorrerlo una sola vez en total todo el archivo, para no gastar tanta memoria.


Lo que necesitaria, en caso de que ese metodo no sirva, seria algo que me permita parar de leer un archivo en cierto punto, y luego volver a leer en ese mismo punto, pero sin volver a leer todo lo que ya lei antes. Se entiende??

Espero que si, del mismo modo que espero contar con su ayuda para poder resolver mi problema.


Desde ya, muchas gracias y un saludo grande para todos los que colaboren.

Pablo.
  #2 (permalink)  
Antiguo 15/05/2009, 10:20
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Leer x linea de un archivo CSV

El problema es ¿cómo haces para encontrar el décimo registro? Deberías buscar en el archivo el noveno salto de línea. ¿y cómo lo encuentras? leyendo el archivo

Si usas el acceso secuencial, no es necesario leer el archivo en memoria:

Código python:
Ver original
  1. for linea in open('archivo'):
  2.     print linea

Esto leerá una línea a la vez del archivo. Podrías descartar las primeras X que no necesites y leer las siguientes.
El asunto sería diferente si pudieses conocer de antemano el largo de cada registro, porque bastaría con pedirle a python que lea a partir de (largo del registro)*(registros a saltear) bytes.


Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:51.