Qual é a maneira mais rápida de analisar e exibir um arquivo '.csv'?

5

No momento, estou usando o python com o matplotlib para exibir 440+ k linhas .csv , mas é preciso usar 11 sec para exibir apenas uma coluna. Meu .csv tem sempre o mesmo formato. Existe uma maneira de analisá-lo mais rápido? Eu escolho armazenar toda a coluna em listas e exibi-la.

Aqui está o código que eu fiz:

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)
    
por Yann-Reun 02.07.2014 / 09:29

1 resposta

1

Parece ok para mim. Isso funcionará para seus CSVs de pequena escala (sub um par de mil linhas).

Quando eu tive tp parsing enormes arquivos CSV (100k linhas +) - eu usei o módulo Cassava, que executou os módulos nativos por um longo caminho.

Dê uma olhada no link

Espero que isso ajude

    
por 02.07.2014 / 11:27