Hola a todos, buenos días,

En la aplicación que estoy desarrollando extraigo una serie de datos de una web 
que es americana. Me gustaría pasar esos datos a formato español. Vamos, 
cambiar el punto decimal por una coma.

No es por el origen de los datos porque he creado una variable con decimales y 
me la muestra mal.

¿qué estoy haciendo mal?



El programa es este:
import pprint
from gazpacho import get, Soup
import locale
locale.setlocale(locale.LC_ALL, 'es_ES')

valor = 0
url = "https://markets.ft.com/data/funds/tearsheet/risk?s=LU0275692696:EUR";
html = get(url)
gazpacho_soup = Soup(html)
valor = gazpacho_soup.find(
    'span', attrs={'class': 'mod-ui-data-list__value'})[0].text
valor = valor.replace(",", "")
valor = float(valor)
valor = valor * 1000
anual = gazpacho_soup.find(
    'span', attrs={'class': 'mod-ui-data-list__value'})[2].text
anual = anual.replace("%", "")
anual = float(anual)
moneda = 15268.57
alpha = gazpacho_soup.find('td')[1].text
alpha = float(alpha)
beta = gazpacho_soup.find('td')[4].text
beta = float(beta)


print(valor)
print(anual)
print(alpha)
print(moneda)
print(beta)

configuracion = locale.localeconv()

# Imprimir definiciones con pprint para una lectura agradable:
imprimir = pprint.PrettyPrinter()
imprimir.pprint(configuracion)



Y lo que genera es:
25910.0
4.18
-18.87
15268.57
0.94
{'currency_symbol': 'Eu',
 'decimal_point': ',',
 'frac_digits': 2,
 'grouping': [127],
 'int_curr_symbol': 'EUR ',
 'int_frac_digits': 2,
 'mon_decimal_point': ',',
 'mon_grouping': [3, 3, 0],
 'mon_thousands_sep': '.',
 'n_cs_precedes': 0,
 'n_sep_by_space': 1,
 'n_sign_posn': 1,
 'negative_sign': '-',
 'p_cs_precedes': 0,
 'p_sep_by_space': 1,
 'p_sign_posn': 1,
 'positive_sign': '',
 'thousands_sep': ''}

Saludos,

--
Javier Pérez
http://es.linkedin.com/in/javierperez1
http://www.perasalvino.es/




_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a