Я загрузил набор данных в формате xml с веб-страницы. Я извлек тег значений, используя библиотеку шаблонов python. Это дает мне значения unicode.Невозможно преобразовать данные в unicode в float
Я ищу для преобразования этого номера юникода, как u'63.3 ', в число с плавающей точкой. Я попытался сделать float (a), но он дает сообщения об ошибках.
import numpy as np
import pandas as pd
import requests
from pattern import web
xml = requests.get('http://charts.realclearpolitics.com/charts/1044.xml').text
dom = web.Element(xml)
values = dom.by_tag('value')
date= []
approve = []
disapprove = []
values = dom.by_tag('value')
for i in range(0,1724):
date.append(pd.to_datetime(values[i].content))
for i in range(1724,3448):
a = float(values[i].content)
approve.append(a)
for i in range(3448,5172):
a = float(values[i].content)
disapprove.append(a)
finalresult = pd.DataFrame({'date': date, 'Approve': approve, 'Disapprove': disapprove})
finalresult
Выход следующим образом:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-12-d9d9e580d883> in <module>()
9
10 for i in range(1724,3448):
---> 11 a = float(values[i].content)
12 result['Approve'].append(a)
13
ValueError: could not convert string to float:
Это, кажется, работает для меня ... http://repl.it/LUj – Lix
'поплавок (u'63.3')' не выдаст ошибку. – user278064
Если вы хотите поплавок, зачем вы пытаетесь использовать 'int()'? – unwind