2015-12-03 265 views
1

我對編碼(以及這種類型的網站)相當陌生,現在我對Python有困難。我需要蟒蛇從CSV文件中讀取數據:Python不能正確讀取CSV文件,無法將字符串轉換爲浮點值錯誤

這裏是我的代碼片段:

import numpy as np 
data = np.loadtext('Users/User/Documents/Data.csv', delimiter=',') 
firstrow = data[0:,] 

這裏只是一個CSV(實際的文件非常大,幷包含2000行的樣本+號)

2 -2 2 5 -4 -2 0 4 -5 

我想蟒蛇讀取文件的第一行,但每當我運行程序它總是說:「不能把字符串轉換爲浮動」。我不明白這裏有什麼問題,以及如何在不創建新文件的情況下修復它(如前所述,文件非常大,需要很長時間才能重新制作),但任何幫助都非常重要感謝,謝謝!

+0

應該不是分隔符是製表符還是'delimiter = None'對於任何空格 –

+0

只是爲了確保:csv文件的第一行不包含標題,是嗎? –

+0

嘿,你好,謝謝你的快速回復!當我將分隔符設置爲delimiter = None時,它仍然會顯示「無法將字符串轉換爲浮點數」,但這次使用行終端中的數字列表。並且沒有在csv文件中沒有標題。如果需要,我可以鏈接文件嗎? – user106039

回答

0

我會用熊貓。它比np.loadtext多faster

import pandas as pd 
data = pd.read_csv('Users/User/Documents/Data.csv', header = None) 

缺省的分隔符是一個逗號,但是如果你想通過另一個分隔符,如標籤只是做data = pd.read_csv('Users/User/Documents/Data.csv', sep = '\t')。如果分隔符應該是任何空格而不是data = pd.read_csv('Users/User/Documents/Data.csv', delim_whitespace = True)

如果你只需要讀取數據的第一行,那麼你可以做pd.read_csv('Users/User/Documents/Data.csv', nrows = 1)

要從熊貓數據幀轉換爲numpy的陣列,只是做:

data_np = data.values 
相關問題