5

В настоящее время я использую 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 ответ1

1

Выглядит нормально для меня. Это будет работать для ваших мелких CSV (под пару тысяч строк).

Когда у меня был tp анализ огромных CSV-файлов (100 тыс. Строк +) - я использовал модуль Cassava, который долгое время выполнял нативные модули.

Взгляните на http://hackage.haskell.org/package/cassava

Надеюсь это поможет

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .