Was ist der schnellste Weg, eine CSV-Datei zu analysieren und anzuzeigen?

Was ist der schnellste Weg, eine CSV-Datei zu analysieren und anzuzeigen?

Ich verwende derzeit Python mit Matplotlib, um über 440.000 Zeilen anzuzeigen, .csvaber es reicht, 11 secnur eine Spalte anzuzeigen. Meines .csvhat immer das gleiche Format. Gibt es eine Möglichkeit, es schneller zu analysieren? Ich speichere alle Spalten in Listen und zeige sie dann an.

Hier ist der Code, den ich erstellt habe:

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)

Antwort1

Sieht für mich ok aus. Das wird für Ihre kleinen CSVs (weniger als ein paar Tausend Zeilen) funktionieren.

Als ich riesige CSV-Dateien (über 100.000 Zeilen) analysieren musste, habe ich das Cassava-Modul verwendet, dessen Leistung die nativen Module bei weitem übertraf.

Schauen Sie sich anhttp://hackage.haskell.org/package/cassava

Hoffe das hilft

verwandte Informationen