[pyar] Identificar el caracter que se usa en un texto abierto como bytes
Guillermo Movia
guillermo.movia en gmail.com
Mar Dic 25 20:49:52 -03 2018
Hola
Estoy intentando leer un texto extraído de un pdf y procesarlo para
convertirlo en un epub.
La parte de la cnversión de pdf a txt la hago con pdftotext que sale muy
bien. Pero después me gustaría hacerle un post-proceso para quitarle los
guiones que separan sílabas de una palabra y volver a juntarlas (en epub
no tiene sentido cortar las palabras).
En otro texto lo tomaba bien, pero por alguna razón en este nuevo no
detecta los "guiones", al menos no con la codificación b"\xc2\xad" que
usaba en el otro.
¿Cómo puedo saber en qué forma está mostrando esos guione? Se me ocurre
que puede estar usando otra codificación y por eso no los encuentra.
El código en Python que tengo es este
import re
libro = open("01-sociologia-introduccion.txt", "rb")
def abrir_documento(libro):
"""El objetivo de esta función, para más adelante, será el de abrir el
documento que el usuario quiera limpiar"""
libro = open(libro,"r")
return libro
def limpiar_linea():
"""Lee cada línea del documento y limpia lo que no se necesita más"""
lineas = list(libro.readlines())
libro2 = open('01-sociologia-introduccion_limpio.txt','ab')
for linea in lineas:
if re.search(b"\xc2\xad$", linea):
""" Con este reemplazo el final de las líneas que tienen guiones
de separación para que no separe las palabras"""
print(linea)
linea = linea.replace(b"\xc2\xad\n", b"")
linea = linea.decode("utf-8")
if re.search("^\s{4,}[A-Z]{1}", linea) or
re.search("^\s{4,}—[A-Z]{1}", linea) or re.search("^\s{4,}¿",linea):
"""Busqueda de sangrias"""
nueva_linea = re.compile("^\s{4,}")
sangria = nueva_linea.sub("\n\n", linea)
sin_saltos = re.compile("$\n")
linea_sin_saltos = sin_saltos.sub(" ", sangria)
libro2.write(linea_sin_saltos.encode())
else:
#sin_saltos = linea.rstrip()
sin_saltos = re.compile("$\n")
linea_sin_saltos = sin_saltos.sub(" ", linea)
libro2.write(linea_sin_saltos.encode())
limpiar_linea()
¡Muchas gracias!
--
Guillermo Movia
PGP: 2438 6C0A 348F 7618 1485 8A18 688D 2AAE 13D1 CA7A
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20181225/0b73bc40/attachment.sig>
Más información sobre la lista de distribución pyar