В настоящее время я использую python с matplotlib для отображения 440+ k строк, .csv
но требуется 11 sec
отобразить только один столбец. У меня .csv
всегда один и тот же формат. Есть ли способ разобрать его быстрее? Я выбираю сохранять все столбцы в списки, а затем отображать их.
Вот код, который я сделал:
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)
решение1
Мне кажется, это нормально. Это подойдет для небольших CSV-файлов (менее пары тысяч строк).
Когда мне нужно было обработать огромные CSV-файлы (более 100 тыс. строк), я использовал модуль Cassava, который намного превосходил по производительности собственные модули.
Взгляни наhttp://hackage.haskell.org/package/cassava
Надеюсь это поможет