현재 matplotlib와 함께 Python을 사용하여 440k개 이상의 라인을 표시하고 있지만 하나의 열만 표시 .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(2,000개 행 미만)에 적합합니다.
거대한 CSV 파일(100,000개 행 이상)을 구문 분석할 때 네이티브 모듈을 훨씬 능가하는 Cassava 모듈을 사용했습니다.
보세요http://hackage.haskell.org/package/cassava
도움이 되었기를 바랍니다