Red de conocimiento informático - Material del sitio web - Cómo leer información de archivos de Word usando Python en Linux

Cómo leer información de archivos de Word usando Python en Linux

Exit()

Esta forma de generar documentos de texto no puede ser leída por Python en el modo r normal. Para que Python lea el texto en modo r, debe escribirse como

doc.SaveAs('c:/test', 4)

Nota: Después de ejecutar el sistema, el sufijo del archivo txt se generará automáticamente (aunque no se especifica ningún sufijo).

En entorno xp, debería

open(r'c:\text', 'r')

wdFormatDocument = 0

wdFormatDocument97 = 0

wdFormatDocumentDefault = 16

wdFormatDOSText = 4

wdFormatDOSTextLineBreaks = 5

wdFormatEncodedText = 7< / p>

wdFormatFilteredHTML= 10

wdFormatFlatXML = 19

wdFormatFlatXMLMacroEnabled = 20

wdFormatFlatXMLTemplate = 21

wdFormatFlatXMLTemplateMacroEnabled = 22< / p>

wdFormatHTML = 8

wdFormatPDF = 17

wdFormatRTF =6

wdFormatTemplate = 1

wdFormatTemplate97 = 1< / p>

wdFormatText = 2

wdFormatTextLineBreaks = 3

wdFormatUnicodeText = 7

wdFormatWebArchive = 9

wdFormatXML = 11< / p>

wdFormatXMLDocument= 12

wdFormatXMLDocumentMacroEnabled = 13

wdFormatXMLTemplate = 14

wdFormatXMLTemplateMacroEnabled = 15

wdFormatXPS = 18< / p>

Literalmente, debería poder corresponder a los formatos de archivo correspondientes. Si es Office 2003, es posible que no admita tantos formatos. Hay dos formatos para convertir archivos de Word a HTML. Puede elegir wdFormatHTML o wdFormatFilteredHTML (correspondientes a los números 8 y 10). La diferencia es que si es el formato wdFormatHTML, las fórmulas y otros objetos antiguos en el archivo de Word se almacenarán en. Si se selecciona wdFormatFilteredHTML, las imágenes de la fórmula se almacenarán en formato gif. Visualmente, puede ver que el HTML generado con wdFormatFilteredHTML es mucho más limpio que wdFormatHTML.

Por supuesto, puede utilizar cualquier idioma para llamar a la API de Office a través de com, como PHP.

desde el cliente de importación win32com como wc

word = wc.Dispatch('Word.doc = word.Documents.Open(r'c:/test1.doc')

doc.SaveAs('c:/test1.text', 4)

doc.Close()

importar re

strings=open (r 'c:/test1.text','r').read()

result=re.findall('\(\s*[A-D]\s*\)|\(\ xa1*[A-D]\xa1*\)|\(\s*[A-D]\s*\)|\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1* \)', cadenas)

chan=re.sub('\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)\(\ s*[A-D]\s*)\(\xa1*[A-D]\xa1*\))', '()', strings)

pregunta= open(r'c:\question' ,'a ')

question.write(chan)

question.close()

answer=open(r'c:\answeronly',' a ')

para i, a in enumerate(resultado):

m=re.search('[A-D]', a)

respuesta. escribir(str(i 1) ' ' m.group() '\n')

answer.close()

chan= re.sub(r'\xa3\xa8 \s*[A-D]\s*\xa3\xa9','()',strings)

#No (), es propenso a la ambigüedad.