Ich verwende derzeit Python mit Matplotlib, um über 440.000 Zeilen anzuzeigen, .csv
aber es reicht, 11 sec
nur eine Spalte anzuzeigen. Meines .csv
hat 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