Foros del Web » Programando para Internet » Python »

ayuda con UTF-8

Estas en el tema de ayuda con UTF-8 en el foro de Python en Foros del Web. buenos dias amigos! tengo un pequeño problema que no se como solucionar, paso a comentarlo: tengo un programa en python que saca los campos de ...
  #1 (permalink)  
Antiguo 02/09/2010, 03:37
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
ayuda con UTF-8

buenos dias amigos!
tengo un pequeño problema que no se como solucionar, paso a comentarlo:

tengo un programa en python que saca los campos de un xml con codificación uft8, este archivo tiene mas de 70000 lineas asi q seleccione unos casos especiales para la programacion en otro xml mas pequeño tambien en utf8.
pero para poder avanzar he tenido q sustituir los caracteres q no estaban en ASCII ya que me daba un error cada vez q tocaba un caracter de este tipo.

os paso el codigo que creo q tiene q ver con el problema

# -*- coding: utf-8 -*-

import xml.dom.minidom

diccionario = xml.dom.minidom.parse('tanarro2.xml')

terminos = diccionario.getElementsByTagName("termino")

por cierto utilizo el IDE Boa Constructor

espero q me comprendan y puedan ayudarme, xq cambiar el xml me pareceria una tortura!!!!!

Gracias!!!!

Última edición por zarko_84; 02/09/2010 a las 03:46 Razón: añadido del ide que utilizo
  #2 (permalink)  
Antiguo 02/09/2010, 08:40
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: ayuda con UTF-8

Te recomiendo BeautifulSoup

Hace que el parseo de xml y html sea algo tan simple.
Ejemplo:
Código Python:
Ver original
  1. from BeautifulSoup import BeautifulStoneSoup
  2. xml = """<doc><tag1 x="1">a</tag1><tag1 y="2">b</tag1></doc>
  3. """
  4. soup = BeautifulStoneSoup(xml)
  5.  
  6. print soup.prettify() #Embellecer
  7. print soup.findAll('tag1') #Lista con etiqueta
  8. print [i.text for i in soup.findAll('tag1')] #Lista de contenido de las tag1
  9. print [i.attrs for i in soup.findAll('tag1')] #Obtener los atributos de las tag1
  #3 (permalink)  
Antiguo 03/09/2010, 03:59
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: ayuda con UTF-8

el problema esq ya tengo todo el codigo hecho y me coge los diferentes campos perfectamente, solo que me falla cuando hay un caracter con acento, la ñ o caracteres del alfabeto griego, tipo alfa beta...
  #4 (permalink)  
Antiguo 01/10/2010, 03:44
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: ayuda con UTF-8

al final solucione el caso, convertia con str(string) y daba error al tener caracteres de utf8, quite esa sentencia y con u'string' esta todo ok!!
  #5 (permalink)  
Antiguo 04/10/2010, 06:09
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: ayuda con UTF-8

Pon en el principio de todo del compilador y en modo texto con #. Si lo metes en otro lado no funcionará.

Código:
#encoding: utf-8
Saludo.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar

Etiquetas: utf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:18.