解析和顯示“.csv”檔案的最快方法是什麼?

解析和顯示“.csv”檔案的最快方法是什麼?

我目前正在使用 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 檔案(100k 行以上)時,我使用了 Cassava 模組,該模組的效能遠遠超出了本機模組。

看一眼http://hackage.haskell.org/package/cassava

希望這可以幫助

相關內容