Преобразование строки в поплавковую ошибку
118
10
Поэтому я пытаюсь запустить этот фрагмент кода:
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.09
number[1] = 24.09
and so on.....
Мой вопрос: как бы я пропустил дату и число после нее и просто сохранил законные поплавки. Или сохранить содержимое в массиве, разделенном запятой?
Это вызывает ошибку, когда я пытаюсь запустить код выше:
ValueError: invalid literal for float(): 5/1/2013 21:39:00.230
Благодарю!
спросил(а)
2013-05-16T10:05:00+04:00
7 лет, 8 месяцев назад
добавить комментарий
пожаловаться
Решение
104
Просто пропустите значения, которые нельзя преобразовать в float:
number = []
for s in reader[1]:
try:
number.append(float(s))
except ValueError:
pass
ответил(а)
2013-05-16T10:07:00+04:00
7 лет, 8 месяцев назад
добавить комментарий
пожаловаться
43
number = []
for s in reader[1]:
number.append(int(float(s)))
это преобразует строку в точный float
ответил(а)
2013-05-16T10:12:00+04:00
7 лет, 8 месяцев назад
добавить комментарий
пожаловаться
44
Или вы можете искать/в строке и передавать, если существует, что-то вроде этого
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
ответил(а)
2013-05-16T10:10:00+04:00
7 лет, 8 месяцев назад
добавить комментарий
пожаловаться
43
Если это всегда первое значение, которое не является поплавком, вы можете сделать это:
reader = list(csv.reader(open('mynew.csv', 'rb'), delimiter='\t'))
print reader[1]
number = [float(s) for s in reader[1][1:]]
ответил(а)
2013-05-16T10:08:00+04:00
7 лет, 8 месяцев назад
добавить комментарий
пожаловаться
Ваш ответ
Еще в рубрике
84
Python XML 'TypeError: должен быть xml.etree.ElementTree.Element, а не str'
103
Откройте выбранные строки с помощью pandas, используя "chunksize" и/или "iterator"
119
Сравните одно поле с другим полем csv файла, содержащего 4 значения, разделенные запятыми
112
Файл расширения CSV - $ _FILES не попадает на сервер для больших данных, таких как 2MB, но для небольших файлов размера KB работает