我目前正在使用 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
希望这可以帮助