2017-09-27 38 views
1

我正在導入測試數據,並繼續遇到問題'ValueError:無法將字符串轉換爲浮點:' 編輯:空白單元格總是在列表和所有列表的長度不一樣。 我想這是因爲我有一些空白單元格被導入到我的列表中。任何人都可以幫我擺脫它們或將它們設置爲零? 我只是試圖繪製數據,我似乎無法解決這個錯誤。不能將空單元轉換爲從csv浮動導入

這裏是我的代碼:

import csv 
import numpy as np 
from itertools import islice 
with open('TestFile.csv') as csvfile: 
    readCSV = csv.reader(csvfile, delimiter=',') 
    Cs = [] 
    Rs = [] 
    Qs = [] 
    for row in islice(readCSV,3,None): 
     R = row[0] 
     C = row[1] 
     q = row[2] 
     Qs.append(q) 
     Cs.append(C) 
     Rs.append(R) 
plot(Qs) 

和這裏的一些樣本數據,保存爲.csv:

Sample 1  Sample 2  Sample 3  Sample 4  Sample 5  
Load Time Load Time Load Time Load Time Load Time 
N sec N sec N sec N sec N sec 
0.007 2.3 0.524 2.3 0.344 2.3 0.914 2.3 1.086 2.3 
0.052 2.32 0.577 2.32 0.397 2.32 0.973 2.32 1.161 2.32 
0.112 2.34 0.637 2.34 0.457 2.34 1.041 2.34 1.235 2.34 
0.172 2.36 0.689 2.36 0.517 2.36 1.101 2.36 1.31 2.36 
0.232 2.38 0.749 2.38 0.577 2.38 1.168 2.38 1.385 2.38 
0.292 2.4 0.816 2.4 0.637 2.4 1.235 2.4 1.46 2.4 
0.352 2.42 0.884 2.42 0.704 2.42 1.303 2.42 1.535 2.42 
2.44 0.959 2.44 0.779 2.44 1.37 2.44 1.61 2.44 
2.46 1.033 2.46 0.854 2.46 1.445 2.46 1.685 2.46 
2.48  2.48 0.929 2.48 1.52 2.48 1.752 2.48 
     2.5 1.003 2.5 1.595 2.5 1.834 2.5 

任何意見是非常讚賞。

謝謝。

回答

2

可以測試分配之前在小區的值,並用零替換它,如果你需要:

R = row[0] if row[0] != '' else 0.0 # choose a test adapted to your values 
C = row[1] if row[1] != '' else 0.0 
q = row[2] if row[2] != '' else 0.0 

當你進行測試必須適應你在文件中遇到的值的類型。

+0

謝謝!我剛剛嘗試添加您建議的代碼,並且第一次完美運行。我會在9分鐘內接受答案(它不會讓我早於此做!)非常感謝,您的幫助非常感謝。 – richyo1000

+0

很高興我能幫助,歡呼。 [我提議的代碼中有一個錯字,在比較中使用的指數都是零 - 我現在確定它] –