2012-09-07 69 views
0

我需要製作一個腳本,該腳本從2列.csv文件獲取2列數據,然後繪製基於此數據的圖形。我設法將數據從這樣列表列出口(實際上有140個nubmers,但你有這個想法):如何將逗號分隔的數字的大列表轉換爲浮點數

['0', '0,1', '0,2', '0,3', '0,4', '0,5', '0,6', '0,7', '0,8000001', '0,9000001', '1', '1,1', '1,2'] 

的問題是,當我試圖用這個數據來繪製,matplotlib給出了一個錯誤,因爲它不是浮點數。而且我無法將此數據轉換爲浮點數,因爲數字之間用逗號分隔,而不是點。那麼,我怎樣才能用點來替換所有這些逗號,或者還有其他更簡單的解決方案呢?我完全不熟悉Python。

更新:我的錯誤,我輸出數據的格式不是列表,而是DICT。我可以成功地將其轉換爲一個長字符串,但無法找到將其轉換爲浮點數組的方法。感謝你的幫助。

+4

字符串替換操作的基本用法,還是? –

回答

5
n = ['0', '0,1', '0,2', '0,3', '0,4', '0,5', '0,6', '0,7', 
    '0,8000001', '0,9000001', '1', '1,1', '1,2'] 
[float(m.replace(",", ".")) for m in n] 
# => [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 
#  0.8000001, 0.9000001, 1.0, 1.1, 1.2] 
相關問題