Actualmente estoy usando Python con matplotlib para mostrar más de 440 k líneas, .csv
pero solo se necesita 11 sec
mostrar una columna. Mi .csv
tiene siempre el mismo formato. ¿Hay alguna manera de analizarlo más rápido? Elijo almacenar todas las columnas en listas y luego mostrarlas.
Aquí está el código que hice:
csv_path = "C:/Users/mydata.csv"
csv_database = open(csv_path, delimiters=";")
data_dict = csv.DictReader(csv_database, delimiter=";")
current_row = 0
number_list = []
for row in data_dict:
current_row += 1 # Skip heading row
if current_row == 1:
continue
# Here I add to a list of strings already created
name_list.append(row["Name"]) # Assuming the header of the column is "Name"
# Here I add to a list of integer
if row['Number'] == 'NULL':
int_list.append(0)
elif row['Number'] != " ":
int_list.append(int(row['Number'])) # Assuming the header is "Number"
else:
int_list.append(0)
Respuesta1
Me parece bien. Esto funcionará para sus archivos CSV de pequeña escala (menos de un par de miles de filas).
Cuando tuve que analizar archivos CSV enormes (más de 100.000 filas), utilicé el módulo Cassava, que superó con creces a los módulos nativos.
Echa un vistazo ahttp://hackage.haskell.org/package/cassava
Espero que esto ayude