所以我試圖運行這段代碼:reader = list(csv.reader(open('mynew.csv', 'rb'), delimiter='\t'))print reader[1]number = [float(s) for s in reader[1]]內部閱讀器[1]我具有以下值:'5/1/2013 21:39:00.230', '46.09', '24.76', '0.70', '0.53', '27.92',我正在嘗試將每個值存儲到一個數組中,如下所示:number[0] = 46.09number[1] = 24.09and so on.....我的問題是:我將如何跳過日期和其后的數字,而只存儲合法的花車。還是將內容存儲在以逗號分隔的數組中?當我嘗試運行上面的代碼時,它將引發錯誤:ValueError: invalid literal for float(): 5/1/2013 21:39:00.230謝謝!
3 回答

侃侃無極
TA貢獻2051條經驗 獲得超10個贊
只是跳過無法轉換為浮點數的值:
number = []
for s in reader[1]:
try:
number.append(float(s))
except ValueError:
pass

SMILET
TA貢獻1796條經驗 獲得超4個贊
或者,您可以在字符串中搜索/并傳遞(如果存在),類似這樣
my_list_results = []
my_list = ['5/1/2013 21:39:00.230', '46.09', '24.76', '0.70', '0.53', '27.92']
for m in my_list:
if '/' not in m: #if we don't find /
my_list_results.append(m)
print my_list_results

ABOUTYOU
TA貢獻1812條經驗 獲得超5個贊
如果它始終是第一個值而不是浮點數,則可以執行以下操作:
reader = list(csv.reader(open('mynew.csv', 'rb'), delimiter='\t'))
print reader[1]
number = [float(s) for s in reader[1][1:]]
添加回答
舉報
0/150
提交
取消