¿Cuál es la forma más rápida de analizar y mostrar un archivo `.csv`?

¿Cuál es la forma más rápida de analizar y mostrar un archivo `.csv`?

Actualmente estoy usando Python con matplotlib para mostrar más de 440 k líneas, .csvpero solo se necesita 11 secmostrar una columna. Mi .csvtiene 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

información relacionada