Python - Cómo leer un csv sin cargarlo todo en memoria

 
Vista:
sin imagen de perfil
Val: 7
Ha disminuido su posición en 16 puestos en Python (en relación al último mes)
Gráfica de Python

Cómo leer un csv sin cargarlo todo en memoria

Publicado por Santiago (4 intervenciones) el 20/07/2018 03:36:37
En internet encontré esta forma:

import csv
>>> with open('eggs.csv', 'rb') as csvfile:
... spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
... for row in spamreader:
... print ', '.join(row)

El tema es que creo que todo el contenido del archivo se cargo en "spamreader". ¿Habrá alguna forma ir cargando de a una linea por vez?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Sergio
Val: 32
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Cómo leer un csv sin cargarlo todo en memoria

Publicado por Sergio (11 intervenciones) el 27/07/2018 21:43:51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Tu archivo
f = open('file.csv')
 
# Leer primera linea
line = f.readline()
 
#Mientras exista una linea
while line:
    #Algún proceso.
    print(line)
    #Obtener siguiente linea.
    line = f.readline()
#Cerrar archivo
f.close()

técnicamente es así para ir linea por linea, lamentablemente al hacer file.open, significa que estás abriendo el archivo y por ende cargandolo todo a memoria ya que si no, sería un archivo "corrupto".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar