Herramienta de extracción de Word (3): cómo ejecutar la herramienta de extracción de Word y verificar los resultados

Echemos un vistazo a cómo ejecutar la herramienta de extracción de palabras y verifiquemos los resultados.

Esta es una continuación del artículo anterior.

Herramienta de extracción de Word (2): configuración del entorno de ejecución de la herramienta de extracción de Word

3. Ejecute la herramienta de extracción de palabras

3.1. Descargar herramienta de extracción de palabras

La herramienta de extracción de palabras se ha subido a github.

https://github.com/DAToolset/ToolsForDataStandard/tree/main/WordExtractor

Los códigos fuente, las fuentes, los archivos de ejemplo de listas de tablas/columnas y los archivos de ejemplo de salida necesarios para la ejecución se agrupan en un archivo comprimido para su distribución, por lo que puede descargar este archivo.

https://github.com/DAToolset/ToolsForDataStandard/raw/main/WordExtractor/word_extractor.7z

Este archivo de distribución contiene los siguientes archivos:

[font]
  - NanumBarunGothic.ttf
  - NanumSquareR.ttf
[out]
  - extract_result_20210829111836.xlsx
  - wordcloud_20210829111836.png
- table,column comments.xlsx
- word_extractor.py

La descripción de cada carpeta y archivo es la siguiente.

  1. [fuente]
    • Carpeta que contiene las fuentes necesarias al crear WordCloud
    • Si es necesario, se pueden agregar y usar otras fuentes cambiando el código fuente.
    • Función a cambiar en el código fuente: make_word_cloud
  2. [afuera]
  3. tabla, columna comentarios.xlsx
  4. word_extractor.py: Código fuente del extractor de palabras (Python)
    • Nota: este archivo de código fuente está sujeto a cambios, por lo tanto, consulte el archivo github para obtener la última versión, no el archivo de distribución.

3.2. Cómo ejecutar la herramienta de extracción de Word

3.2.1. Descomprima el archivo descargado y active el entorno virtual Python

Extraiga el archivo comprimido de distribución que descargó anteriormente en una ruta apropiada. (por ejemplo, "d:\Proyecto\WordExtractor")

Ejecute Miniconda Prompt, muévase a la ruta descomprimida y active el entorno virtual de Python.

Para activar el entorno virtual de Python, consulte el siguiente artículo.

2.3. Creación y activación de un entorno virtual

Continúe en el siguiente estado de Miniconda Prompt.

(wordextr) d:\Project\WordExtractor>

3.2.2. Consultar ayuda

Puede consultar la ayuda especificando el argumento “–help” y ejecutándolo.

(wordextr) d:\Project\WordExtractor>python word_extractor.py --help

La salida cuando se ejecuta es la siguiente.

(wordextr) d:\Project\WordExtractor>python word_extractor.py --help
usage: word_extractor.py [-h] [--multi_process_count MULTI_PROCESS_COUNT] [--db_comment_file DB_COMMENT_FILE] [--in_path IN_PATH] --out_path OUT_PATH

--- Description ---
  * db_comment_file과 in_path중 하나는 필수로 입력

  * 실행 예시
    1. File에서 text, 단어 추출: in_path, out_path 지정
       python word_extractor.py --multi_process_count 4 --in_path .\test_files --out_path .\out

    2. DB comment에서 text, 단어 추출: db_comment_file, out_path 지정
       python word_extractor.py --db_comment_file "table,column comments.xlsx" --out_path .\out

    3. File, DB comment 에서 text, 단어 추출: db_comment_file, in_path, out_path 지정
       python word_extractor.py --db_comment_file "table,column comments.xlsx" --in_path .\test_files --out_path .\out

  * DB Table, Column comment 파일 형식
    - 첫번째 sheet(Table comment): DBName, SchemaName, Tablename, TableComment
    - 두번째 sheet(Column comment): DBName, SchemaName, Tablename, ColumnName, ColumnComment

optional arguments:
  -h, --help            show this help message and exit
  --multi_process_count MULTI_PROCESS_COUNT
                        text 추출, 단어 추출을 동시에 실행할 multi process 개수(지정하지 않으면 (logical)cpu 개수로 설정됨)
  --db_comment_file DB_COMMENT_FILE
                        DB Table, Column comment 정보 파일명(예: comment.xlsx)
  --in_path IN_PATH     입력파일(ppt, doc, txt) 경로명(예: .\in)
  --out_path OUT_PATH   출력파일(xlsx, png) 경로명(예: .\out)

Hay tres formas de hacerlo. (Consulte "* Ejemplo de ejecución" en la ayuda anterior)

  1. Extraiga palabras solo de archivos de documentos
    • Designe la carpeta donde se guardan los archivos de MS Word, PowerPoint y texto como “–in_path”, y designe la carpeta para generar los resultados como “–out_path”
  2. Extraiga palabras solo de la tabla DB, comentarios de columna
    • Designe el archivo de Excel guardado en el formato de archivo de comentarios como “–db_comment_file” y designe la carpeta para generar los resultados como “–out_path”
  3. Extraiga palabras de ambos archivos de documentos, tablas de base de datos y comentarios de columna (cómo extraer 1 y 2 a la vez)
    • Especifique todo “–in_path”, “–db_comment_file”, “–out_path”

El argumento “–multi_process_count” es el número de procesos que se ejecutarán en paralelo al extraer texto de un archivo y extraer palabras del texto. El rendimiento se puede mejorar especificando un número adecuado según el entorno de ejecución.

En este artículo, el argumento “-multi_process_count” no se especifica ni ejecuta. En este caso, se establece en el número de CPU lógicas en el entorno de ejecución durante el proceso de ejecución del código. (por ejemplo, 8 para CPU i5-8250U)

3.2.3. Método 1: extraer palabras solo de archivos de documentos

Primero, cree una carpeta para guardar el archivo del documento en la ruta donde se encuentra el código fuente de Python.

Por ejemplo, cree la carpeta "in" en "d:\Project\WordExtractor" y cree la ruta "d:\Project\WordExtractor\in".

Luego, copie los archivos de formato de MS Word, PowerPoint y texto a la carpeta "in". Incluso si hay varios niveles de carpetas en la carpeta "en", todos ellos se pueden explorar y procesar, por lo que se recomienda organizar las subcarpetas por unidad de negocio, etc.

Como referencia, en el momento de escribir este artículo (2021-10-24), los archivos HWP y PDF aún no son compatibles.

Ejecútalo con el siguiente comando: (Especifique –in_path, –out_path)

(wordextr) d:\Project\WordExtractor>python word_extractor.py --in_path .\in --out_path .\out

Un ejemplo del resultado de la ejecución es el siguiente.

(wordextr) d:\Project\WordExtractor>python word_extractor.py --in_path .\in --out_path .\out
------------------------------------------------------------
Word Extractor v0.40 start --- 2021-10-24 12:15:11.985581
##### arguments #####
multi_process_count: 8
db_comment_file: None
in_path: .\in
out_path: .\out
------------------------------------------------------------
[2021-10-24 12:15:11.985581] Start Get File List...
[2021-10-24 12:15:11.985581] Finish Get File List.
--- File List ---
d:\Project\WordExtractor\in\OOOOOO_데이터현황.txt
d:\Project\WordExtractor\in\OOOOOO_업무매뉴얼.pptx
d:\Project\WordExtractor\in\OOOOOO_주간업무보고서(7주차).docx
[2021-10-24 12:15:11.985581] Start Get File Text...

get_txt_text: d:\Project\WordExtractor\in\OOOOOO_데이터현황.txt

get_ppt_text: d:\Project\WordExtractor\in\OOOOOO_업무매뉴얼.pptx

get_doc_text: d:\Project\WordExtractor\in\OOOOOO_주간업무보고서(7주차).docx
text count: 25
line count: 34
[pid:17976] get_txt_text elapsed time: 0:00:00.135933
text count: 124
page count: 5
[pid:5412] get_ppt_text elapsed time: 0:00:03.370637
text count: 59
page count: 3
[pid:22052] get_doc_text elapsed time: 0:00:04.100849
[2021-10-24 12:15:18.094089] Finish Get File Text.
[2021-10-24 12:15:18.094089] Start Get Word from File Text...
[pid:25016] input text count:26, extracted word count: 31
[pid:25016] get_word_list finished. total: 26, elapsed time: 0:00:00.109351
[pid:17704] input text count:26, extracted word count: 54
[pid:17704] get_word_list finished. total: 26, elapsed time: 0:00:00.156214
[pid:18468] input text count:26, extracted word count: 52
[pid:18468] get_word_list finished. total: 26, elapsed time: 0:00:00.140596
[pid:3456] input text count:26, extracted word count: 38
[pid:3456] get_word_list finished. total: 26, elapsed time: 0:00:00.109350
[pid:15400] input text count:26, extracted word count: 50
[pid:15400] get_word_list finished. total: 26, elapsed time: 0:00:00.140594
[pid:25892] input text count:26, extracted word count: 65
[pid:25892] get_word_list finished. total: 26, elapsed time: 0:00:00.171835
[pid:3592] input text count:26, extracted word count: 147
[pid:3592] get_word_list finished. total: 26, elapsed time: 0:00:00.312458
[pid:9512] input text count:26, extracted word count: 180
[pid:9512] get_word_list finished. total: 26, elapsed time: 0:00:00.374976
[2021-10-24 12:15:20.320614] Finish Get Word from File Text.
[2021-10-24 12:15:20.320614] Start Get Word Frequency...
[2021-10-24 12:15:20.336234] Finish Get Word Frequency.
[2021-10-24 12:15:20.336234] Start Make Word Cloud...

start make_word_cloud...
make_word_cloud elapsed time: 0:00:06.681665
[2021-10-24 12:15:27.017899] Finish Make Word Cloud.
[2021-10-24 12:15:27.017899] Start Save the Extract result to Excel File...
start writing excel file...
[2021-10-24 12:15:27.643679] Finish Save the Extract result to Excel File...
------------------------------------------------------------
[2021-10-24 12:15:27.643679] Finished.
overall elapsed time: 0:00:15.658098
------------------------------------------------------------

3.2.4. Método 2: extraer palabras solo de la tabla DB, comentarios de columna

Primero, abra el archivo "table,column comments.xlsx" incluido en el archivo comprimido en Excel, complete el contenido de acuerdo con el formato y guarde.

Vea a continuación ejemplos de formato y contenido.

1.3.1. material de entrada de la herramienta de extracción de palabras

Ejecútalo con el siguiente comando: (Especifique –db_comment_file, –out_path)

(wordextr) d:\Project\WordExtractor>python word_extractor.py --db_comment_file "table,column comments.xlsx" --out_path .\out

El nombre del archivo estaba entre comillas dobles (“) porque el nombre del archivo de entrada contenía caracteres en blanco.

Si el archivo "table,column comments.xlsx" es diferente de la ruta del archivo de código fuente de Python, especifíquelo incluyendo la ruta. Se supone aquí que están en el mismo camino.

Un ejemplo del resultado de la ejecución es el siguiente.

(wordextr) d:\Project\WordExtractor>python word_extractor.py --db_comment_file "table,column comments.xlsx" --out_path .\out
------------------------------------------------------------
Word Extractor v0.40 start --- 2021-10-24 12:34:23.369210
##### arguments #####
multi_process_count: 8
db_comment_file: table,column comments.xlsx
in_path: None
out_path: .\out
------------------------------------------------------------
[2021-10-24 12:34:23.370209] Start Get File Text...

get_db_comment_text: table,column comments.xlsx
table_comment_range : A2:D1001 (1000 rows)
column_comment_range : A2:E1001 (1000 rows)
[pid:17088] get_db_comment_text elapsed time: 0:00:01.216618
text count: 1680
[2021-10-24 12:34:26.577237] Finish Get File Text.
[2021-10-24 12:34:26.577237] Start Get Word from File Text...
[pid:25240] current: 100, total: 210, progress: 47.62%
[pid:21792] current: 100, total: 210, progress: 47.62%
[pid:14788] current: 100, total: 210, progress: 47.62%
[pid:10660] current: 100, total: 210, progress: 47.62%
[pid:17208] current: 100, total: 210, progress: 47.62%
[pid:13300] current: 100, total: 210, progress: 47.62%
[pid:23764] current: 100, total: 210, progress: 47.62%
[pid:25068] current: 100, total: 210, progress: 47.62%
[pid:13300] current: 200, total: 210, progress: 95.24%
[pid:14788] current: 200, total: 210, progress: 95.24%
[pid:13300] input text count:210, extracted word count: 804
[pid:13300] get_word_list finished. total: 210, elapsed time: 0:00:02.900049
[pid:10660] current: 200, total: 210, progress: 95.24%
[pid:14788] input text count:210, extracted word count: 850
[pid:14788] get_word_list finished. total: 210, elapsed time: 0:00:03.005057
[pid:10660] input text count:210, extracted word count: 819
[pid:10660] get_word_list finished. total: 210, elapsed time: 0:00:03.040949
[pid:17208] current: 200, total: 210, progress: 95.24%
[pid:25240] current: 200, total: 210, progress: 95.24%
[pid:17208] input text count:210, extracted word count: 929
[pid:17208] get_word_list finished. total: 210, elapsed time: 0:00:03.182333
[pid:25240] input text count:210, extracted word count: 871
[pid:25240] get_word_list finished. total: 210, elapsed time: 0:00:03.320128
[pid:23764] current: 200, total: 210, progress: 95.24%
[pid:21792] current: 200, total: 210, progress: 95.24%
[pid:23764] input text count:210, extracted word count: 1054
[pid:23764] get_word_list finished. total: 210, elapsed time: 0:00:03.362429
[pid:25068] current: 200, total: 210, progress: 95.24%
[pid:21792] input text count:210, extracted word count: 1077
[pid:21792] get_word_list finished. total: 210, elapsed time: 0:00:03.651294
[pid:25068] input text count:210, extracted word count: 1163
[pid:25068] get_word_list finished. total: 210, elapsed time: 0:00:03.616955
[2021-10-24 12:34:32.287245] Finish Get Word from File Text.
[2021-10-24 12:34:32.287245] Start Get Word Frequency...
[2021-10-24 12:34:32.313363] Finish Get Word Frequency.
[2021-10-24 12:34:32.313363] Start Make Word Cloud...

start make_word_cloud...
make_word_cloud elapsed time: 0:00:10.572230
[2021-10-24 12:34:42.886547] Finish Make Word Cloud.
[2021-10-24 12:34:42.886547] Start Save the Extract result to Excel File...
start writing excel file...
[2021-10-24 12:34:48.636633] Finish Save the Extract result to Excel File...
------------------------------------------------------------
[2021-10-24 12:34:48.636633] Finished.
overall elapsed time: 0:00:25.266424
------------------------------------------------------------

3.2.5. Método 3: extracción de palabras de ambos archivos de documentos, tablas de base de datos y comentarios de columna

Este es un método que puede ejecutar el método 1 y el método 2 al mismo tiempo.

Ejecútalo con el siguiente comando: (Especifique –db_comment_file, –in_path, –out_path)

(wordextr) d:\Project\WordExtractor>python word_extractor.py --db_comment_file "table,column comments.xlsx" --in_path .\in --out_path .\out

Un ejemplo del resultado de la ejecución es el siguiente.

(wordextr) d:\Project\WordExtractor>python word_extractor.py --db_comment_file "table,column comments.xlsx" --in_path .\in --out_path .\out
------------------------------------------------------------
Word Extractor v0.40 start --- 2021-10-24 12:43:31.847674
##### arguments #####
multi_process_count: 8
db_comment_file: table,column comments.xlsx
in_path: .\in
out_path: .\out
------------------------------------------------------------
[2021-10-24 12:43:31.848673] Start Get File List...
[2021-10-24 12:43:31.849672] Finish Get File List.
--- File List ---
d:\Project\WordExtractor\in\OOOOOO_데이터현황.txt
d:\Project\WordExtractor\in\OOOOOO_업무 매뉴얼.pptx
d:\Project\WordExtractor\in\OOOOOO_주간업무보고서(7주차).docx
[2021-10-24 12:43:31.849672] Start Get File Text...

get_txt_text: d:\Project\WordExtractor\in\OOOOOO_데이터현황.txt

get_ppt_text: d:\Project\WordExtractor\in\OOOOOO_업무 매뉴얼.pptx

get_doc_text: d:\Project\WordExtractor\in\OOOOOO_주간업무보고서(7주차).docx

get_db_comment_text: table,column comments.xlsx
text count: 25
line count: 34
[pid:11692] get_txt_text elapsed time: 0:00:00.135359
table_comment_range : A2:D1001 (1000 rows)
column_comment_range : A2:E1001 (1000 rows)
[pid:21044] get_db_comment_text elapsed time: 0:00:01.580088
text count: 1680
text count: 124
page count: 5
[pid:23812] get_ppt_text elapsed time: 0:00:04.757793
text count: 59
page count: 3
[pid:23724] get_doc_text elapsed time: 0:00:06.661778
[2021-10-24 12:43:40.690639] Finish Get File Text.
[2021-10-24 12:43:40.690639] Start Get Word from File Text...
[pid:18392] current: 100, total: 236, progress: 42.37%
[pid:8036] current: 100, total: 236, progress: 42.37%
[pid:26864] current: 100, total: 236, progress: 42.37%
[pid:23288] current: 100, total: 236, progress: 42.37%
[pid:15596] current: 100, total: 236, progress: 42.37%
[pid:8036] current: 200, total: 236, progress: 84.75%
[pid:18208] current: 100, total: 236, progress: 42.37%
[pid:17976] current: 100, total: 236, progress: 42.37%
[pid:4324] current: 100, total: 236, progress: 42.37%
[pid:18392] current: 200, total: 236, progress: 84.75%
[pid:26864] current: 200, total: 236, progress: 84.75%
[pid:8036] input text count:236, extracted word count: 739
[pid:8036] get_word_list finished. total: 236, elapsed time: 0:00:02.651907
[pid:18392] input text count:236, extracted word count: 780
[pid:18392] get_word_list finished. total: 236, elapsed time: 0:00:02.879298
[pid:15596] current: 200, total: 236, progress: 84.75%
[pid:26864] input text count:236, extracted word count: 887
[pid:26864] get_word_list finished. total: 236, elapsed time: 0:00:03.161543
[pid:15596] input text count:236, extracted word count: 979
[pid:15596] get_word_list finished. total: 236, elapsed time: 0:00:03.443786
[pid:18208] current: 200, total: 236, progress: 84.75%
[pid:23288] current: 200, total: 236, progress: 84.75%
[pid:17976] current: 200, total: 236, progress: 84.75%
[pid:18208] input text count:236, extracted word count: 1181
[pid:18208] get_word_list finished. total: 236, elapsed time: 0:00:03.831052
[pid:4324] current: 200, total: 236, progress: 84.75%
[pid:23288] input text count:236, extracted word count: 1242
[pid:23288] get_word_list finished. total: 236, elapsed time: 0:00:04.139228
[pid:17976] input text count:236, extracted word count: 1294
[pid:17976] get_word_list finished. total: 236, elapsed time: 0:00:04.113296
[pid:4324] input text count:236, extracted word count: 1082
[pid:4324] get_word_list finished. total: 236, elapsed time: 0:00:04.334706
[2021-10-24 12:43:47.324098] Finish Get Word from File Text.
[2021-10-24 12:43:47.325098] Start Get Word Frequency...
[2021-10-24 12:43:47.353058] Finish Get Word Frequency.
[2021-10-24 12:43:47.353058] Start Make Word Cloud...

start make_word_cloud...
make_word_cloud elapsed time: 0:00:10.604237
[2021-10-24 12:43:57.958289] Finish Make Word Cloud.
[2021-10-24 12:43:57.958289] Start Save the Extract result to Excel File...
start writing excel file...
[2021-10-24 12:44:04.752046] Finish Save the Extract result to Excel File...
------------------------------------------------------------
[2021-10-24 12:44:04.752046] Finished.
overall elapsed time: 0:00:32.903374
------------------------------------------------------------

Una parte del proceso de ejecución anterior se captura y pega como una imagen.

단어 추출 도구 실행 예시
Ejemplo de ejecución de la herramienta de extracción de palabras

3.2.6. Cómo comprobar los resultados de la ejecución

Cuando se ejecuta, se crean dos archivos (xlsx, png) en la carpeta (\out) designada como la ruta de salida. El año, el mes, la hora, el minuto y el segundo (AAAAMMDHHMISS) se asignan automáticamente al nombre del archivo para que pueda comprobar cuándo se creó.

Por ejemplo, el archivo de resultados de ejecución incluido en la carpeta de salida del archivo comprimido de distribución es el siguiente.

  1. extract_result_20210829111836.xlsx: archivo Excel de resultados de extracción de Word
  2. wordcloud_20210829111836.png: archivo de imagen de nube de palabras creado con la hoja de "frecuencia de palabras" del archivo de Excel de resultados de extracción de palabras

Para conocer el formato y el contenido del archivo de resultados de la ejecución, consulte el artículo siguiente.

1.3.3. Datos de salida de la herramienta de extracción de palabras

3.2.7. Precauciones/Notas sobre la ejecución

  • Si ejecuta aplicaciones de MS-Word o PowerPoint antes de la ejecución, el rendimiento de la ejecución mejora ligeramente.
  • Durante la ejecución, el archivo se abre en la aplicación MS-Word o PowerPoint y se cierra después del procesamiento. Mientras se ejecuta el extractor de palabras, no use cada aplicación y déjelo como está.
  • Cuantos más archivos, más páginas en el archivo y más filas de datos en el archivo de comentarios de Excel, mayor será el tiempo de ejecución.
  • Se recomienda probar si funciona bien guardando por separado una parte del archivo de entrada y una parte de los datos del archivo de comentarios de Excel antes de ejecutarlo todo.
  • Teniendo en cuenta que llevará mucho tiempo ejecutarlo todo, es mejor hacerlo durante una comida o un descanso.

Este artículo analizó cómo usar la herramienta de extracción de palabras. Deje un comentario si tiene alguna pregunta sobre el uso o si tiene alguna buena característica para agregar.

El próximo artículo echará un vistazo al código fuente.


<< Lista de artículos relacionados >>

10 Respuestas

  1. foto de avatar 김기영 dice:

    ¡Hola! gracias por el buen código

    Tengo una pregunta al ejecutar el código con un archivo pptx como entrada.

    Probé extrayendo palabras de un archivo .pptx.
    Existe el fenómeno de que una ventana ppt vacía no se cierra y flota cuando se ejecuta el código.

    Word, txt y excel no tienen un fenómeno similar.

    Me gustaría preguntar si este es un fenómeno temporal dependiendo de la versión de Office.

    el medio ambiente es
    Estoy usando Windows 11, versión Office 365.

    gracias

    • foto de avatar Zerom dice:

      Hola, gracias por visitar y comentar.

      Me gustaría saber más sobre la situación de Kiyoung Kim.
      ¿Cuál de los siguientes es el caso?
      1) Un fenómeno en el que la aplicación de PowerPoint no responde "durante la ejecución del código" y no pasa al siguiente archivo
      2) Un fenómeno en el que la aplicación de PowerPoint permanece abierta sin cerrarse “después” de la ejecución del código

      Si 1) es el caso,
      – Si cierra a la fuerza PowerPoint en el administrador de tareas, ¿podrá pasar al siguiente archivo?
      – Existe la posibilidad de que el archivo actual no se haya procesado correctamente.
      – Se recomienda volver a ejecutar la tarea desde el principio.

      Si 2) es el caso,
      – Es normal que la aplicación de PowerPoint permanezca abierta si ejecuta la herramienta de extracción de palabras después de ejecutar PowerPoint por adelantado.
      – Si no ha ejecutado PowerPoint, es un comportamiento extraño, pero si se procesan todos los archivos, no necesita preocuparse por eso.

      Como referencia, si ejecuta la herramienta de extracción de palabras sin ejecutar aplicaciones como PowerPoint y Excel, es normal que las aplicaciones como PowerPoint y Excel se ejecuten durante el proceso de automatización OLE y luego finalicen después de que se complete el procesamiento.

      De lo contrario, por favor deje comentarios adicionales.

      • foto de avatar 김기영 dice:

        Hola, gracias por la rápida respuesta!

        En mi caso, 2) "después" de la ejecución del código, la aplicación de powerpoint permanece abierta sin cerrarse.

        Como dijiste, parece ser un comportamiento anormal ya que PowerPoint no se ejecutó con anticipación.

        Todos los archivos fueron procesados sin anomalías.

        ¡gracias!

  2. foto de avatar 서희경 dice:

    Hola. Actualmente estoy usando esa herramienta, pero no funciona. ¿Es un problema con miniforge? Primero, instalaré miniconda en un entorno diferente y lo ejecutaré nuevamente.

    ——————————————————————————————
    (wordextr) C:\Users\User\Downloads\word_extractor>python word_extractor.py –in_path .\in –out_path .\out
    C:\Users\User\Downloads\word_extractor\word_extractor.py:382: Advertencia de sintaxis: secuencia de escape no válida '\o'
    use_description = “””— Descripción —
    C:\Users\User\Downloads\word_extractor\word_extractor.py:406: Advertencia de sintaxis: secuencia de escape no válida '\i'
    parser.add_argument('–in_path', require=False, help='Archivo de entrada (ppt, doc, txt) nombre de ruta (por ejemplo, .\in) ')
    C:\Users\User\Downloads\word_extractor\word_extractor.py:407: Advertencia de sintaxis: secuencia de escape no válida '\o'
    parser.add_argument('–out_path', require=True, help='Nombre de ruta del archivo de salida (xlsx, png) (por ejemplo, .\out)')
    ————————————————————
    Inicio de Word Extractor v0.41 — 2024-01-18 17:36:57.283006
    ##### argumentos #####
    recuento_multiproceso: 16
    db_comment_file: Ninguno
    in_path: .\en
    ruta_salida: .\salida
    ————————————————————
    [2024-01-18 17:36:57.288351] Iniciar Obtener lista de archivos…
    [2024-01-18 17:36:57.289390] Finalizar Obtener lista de archivos.
    — Lista de archivos —

    [2024-01-18 17:36:57.290381] Iniciar Obtener texto del archivo…
    Rastreo (llamadas recientes más última):
    Archivo “C:\Users\User\Downloads\word_extractor\word_extractor.py”, línea 559, en
    principal()
    Archivo “C:\Users\User\Downloads\word_extractor\word_extractor.py”, línea 461, en principal
    df_text = pd.concat (mp_text_result, ignore_index = Verdadero)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Archivo “C:\ProgramData\miniforge3\envs\wordextr\Lib\site-packages\pandas\core\reshape\concat.py”, línea 380, en concat
    op = _Concatenador(
    ^^^^^^^^^^^^^^
    Archivo “C:\ProgramData\miniforge3\envs\wordextr\Lib\site-packages\pandas\core\reshape\concat.py”, línea 443, en __init__
    objs, claves = self._clean_keys_and_objs(objs, claves)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Archivo “C:\ProgramData\miniforge3\envs\wordextr\Lib\site-packages\pandas\core\reshape\concat.py”, línea 505, en _clean_keys_and_objs
    elevar ValueError ("No hay objetos para concatenar")
    ValueError: No hay objetos para concatenar

    • foto de avatar 서희경 dice:

      La información de la versión es la siguiente.

      Pitón 3.12.1

      Versión del paquete
      ————— ————
      contorno 1.2.0
      ciclador 0.12.1
      eunjeon 0.4.0
      herramientas de fuentes 4.47.2
      Jinja2 3.1.3
      kiwisolver 1.4.5
      MarkupSafe 2.1.3
      matplotlib 3.8.2
      numeroso 1.26.3
      embalaje 23.2
      pandas 2.1.4
      almohada 10.2.0
      pipa 23.3.2
      pyparsing 3.1.1
      python-dateutil 2.8.2
      Pytz 2023.3.post1
      pywin32 306
      herramientas de configuración69.0.3
      seis 1.16.0
      datos tz 2023.4
      rueda 0.42.0
      nube de palabras 1.9.3
      XlsxWriter 3.1.9

      • foto de avatar Zerom dice:

        Este error aparece si no hay ningún archivo con la siguiente extensión en el directorio de entrada.
        – .ppt, .pptx
        – .doc, .docx
        - .TXT

        Lo probé de la siguiente manera:
        ———————————————————————–

        (.venv) D:\Temp\python_venv\wordextr_test>python –versión
        Pitón 3.11.1

        (.venv) D:\Temp\python_venv\wordextr_test>python word_extractor.py –in_path .\in –out_path .\out
        ————————————————————
        Inicio de Word Extractor v0.41 — 2024-01-19 08:55:44.842578
        ##### argumentos #####
        recuento_multiproceso: 8
        db_comment_file: Ninguno
        in_path: .\en
        ruta_salida: .\salida
        ————————————————————
        [2024-01-19 08:55:44.845602] Iniciar Obtener lista de archivos…
        [2024-01-19 08:55:44.845602] Finalizar Obtener lista de archivos.
        — Lista de archivos —

        [2024-01-19 08:55:44.845602] Iniciar Obtener texto del archivo…
        Rastreo (llamadas recientes más última):
        Archivo “D:\Temp\python_venv\wordextr_test\word_extractor.py”, línea 164, en
        principal()
        Archivo “D:\Temp\python_venv\wordextr_test\word_extractor.py”, línea 152, en principal
        df_text = pd.concat (mp_text_result, ignore_index = Verdadero)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Archivo “D:\Temp\python_venv\wordextr_test\.venv\Lib\site-packages\pandas\core\reshape\concat.py”, línea 380, en concat
        op = _Concatenador(
        ^^^^^^^^^^^^^^
        Archivo “D:\Temp\python_venv\wordextr_test\.venv\Lib\site-packages\pandas\core\reshape\concat.py”, línea 443, en __init__
        objs, claves = self._clean_keys_and_objs(objs, claves)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Archivo “D:\Temp\python_venv\wordextr_test\.venv\Lib\site-packages\pandas\core\reshape\concat.py”, línea 505, en _clean_keys_and_objs
        elevar ValueError ("No hay objetos para concatenar")
        ValueError: No hay objetos para concatenar

        (.venv) D:\Temp\python_venv\wordextr_test>dir .\in
        Volumen en la unidad D: Datos
        Número de serie del volumen: D6EC-7CFE

        Directorio D:\Temp\python_venv\wordextr_test\in

        2024-01-18 21:41

        .
        2024-01-18 21:41
        ..
        0 archivos 0 bytes
        2 directorios 34.305.060.864 bytes restantes

  3. foto de avatar Hyelim Cho dice:

    Hola. Actualmente estoy usando esa herramienta, pero sigo recibiendo un error. Lo busqué y parece ser un problema con la versión Pandas. (Parece que la función .appen no se proporciona a partir de Pandas 2). ¿O es otro error?

    (wordextr) C:\Users\hyelm\Documents\word_extractor>python word_extractor.py. –db_comment_file “table_column_comments1.xlsx” –out_path 'C:\Users\hyelm\Documents\word_extractor\out'
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:382: Advertencia de sintaxis: secuencia de escape no válida '\o'
    use_description = “””— Descripción —
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:406: Advertencia de sintaxis: secuencia de escape no válida '\i'
    parser.add_argument('–in_path', require=False, help='Archivo de entrada (ppt, doc, txt) nombre de ruta (por ejemplo, .\in) ')
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:407: Advertencia de sintaxis: secuencia de escape no válida '\o'
    parser.add_argument('–out_path', require=True, help='Nombre de ruta del archivo de salida (xlsx, png) (por ejemplo, .\out)')
    ————————————————————
    Inicio de Word Extractor v0.41 — 2024-04-29 14:28:41.474667
    ##### argumentos #####
    recuento_multiproceso: 4
    db_comment_file: tabla_columna_comentarios1.xlsx
    in_path: Ninguno
    out_path: 'C:\Usuarios\hyelm\Documentos\word_extractor\out'
    ————————————————————
    [2024-04-29 14:28:41.479798] Iniciar Obtener texto del archivo…
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:382: Advertencia de sintaxis: secuencia de escape no válida '\o'
    use_description = “””— Descripción —
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:406: Advertencia de sintaxis: secuencia de escape no válida '\i'
    parser.add_argument('–in_path', require=False, help='Archivo de entrada (ppt, doc, txt) nombre de ruta (por ejemplo, .\in) ')
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:407: Advertencia de sintaxis: secuencia de escape no válida '\o'
    parser.add_argument('–out_path', require=True, help='Nombre de ruta del archivo de salida (xlsx, png) (por ejemplo, .\out)')
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:382: Advertencia de sintaxis: secuencia de escape no válida '\o'
    use_description = “””— Descripción —
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:406: Advertencia de sintaxis: secuencia de escape no válida '\i'
    parser.add_argument('–in_path', require=False, help='Archivo de entrada (ppt, doc, txt) nombre de ruta (por ejemplo, .\in) ')
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:407: Advertencia de sintaxis: secuencia de escape no válida '\o'
    parser.add_argument('–out_path', require=True, help='Nombre de ruta del archivo de salida (xlsx, png) (por ejemplo, .\out)')
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:382: Advertencia de sintaxis: secuencia de escape no válida '\o'
    use_description = “””— Descripción —
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:406: Advertencia de sintaxis: secuencia de escape no válida '\i'
    parser.add_argument('–in_path', require=False, help='Archivo de entrada (ppt, doc, txt) nombre de ruta (por ejemplo, .\in) ')
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:407: Advertencia de sintaxis: secuencia de escape no válida '\o'
    parser.add_argument('–out_path', require=True, help='Nombre de ruta del archivo de salida (xlsx, png) (por ejemplo, .\out)')
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:382: Advertencia de sintaxis: secuencia de escape no válida '\o'
    use_description = “””— Descripción —
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:406: Advertencia de sintaxis: secuencia de escape no válida '\i'
    parser.add_argument('–in_path', require=False, help='Archivo de entrada (ppt, doc, txt) nombre de ruta (por ejemplo, .\in) ')
    C:\Users\hyelm\Documents\word_extractor\word_extractor.py:407: Advertencia de sintaxis: secuencia de escape no válida '\o'
    parser.add_argument('–out_path', require=True, help='Nombre de ruta del archivo de salida (xlsx, png) (por ejemplo, .\out)')

    get_db_comment_text: table_column_comments1.xlsx
    table_comment_range: A2:D7112 (7111 filas)
    column_comment_range: A2:E181935 (181934 filas)
    multiprocesamiento.pool.RemoteTraceback:
    “””
    Rastreo (llamadas recientes más última):
    Archivo “C:\Users\hyelm\miniconda3\envs\wordextr\Lib\multiprocessing\pool.py”, línea 125, en trabajador
    resultado = (Verdadero, func(*args, **kwds))
    ^^^^^^^^^^^^^^^^^^^
    Archivo “C:\Users\hyelm\miniconda3\envs\wordextr\Lib\multiprocessing\pool.py”, línea 48, en mapstar
    lista de retorno (mapa (* argumentos))
    ^^^^^^^^^^^^^^^^
    Archivo “C:\Users\hyelm\Documents\word_extractor\word_extractor.py”, línea 369, en get_file_text
    df_text = get_db_comment_text(nombre_archivo)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Archivo “C:\Users\hyelm\Documents\word_extractor\word_extractor.py”, línea 343, en get_db_comment_text
    df_text = df_column.append(df_table, ignore_index=True)
    ^^^^^^^^^^^^^^^^
    Archivo “C:\Users\hyelm\miniconda3\envs\wordextr\Lib\site-packages\pandas\core\generic.py”, línea 6296, en __getattr__
    devolver objeto.__getattribute__(yo, nombre)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    AttributeError: el objeto 'DataFrame' no tiene el atributo 'append'. ¿Quiso decir: '_append'?
    “””

    La excepción anterior fue la causa directa de la siguiente excepción:

    Rastreo (llamadas recientes más última):
    Archivo “C:\Users\hyelm\Documents\word_extractor\word_extractor.py”, línea 559, en
    principal()
    Archivo “C:\Users\hyelm\Documents\word_extractor\word_extractor.py”, línea 460, en principal
    mp_text_result = pool.map(get_file_text, file_list)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Archivo “C:\Users\hyelm\miniconda3\envs\wordextr\Lib\multiprocessing\pool.py”, línea 367, en el mapa
    devolver self._map_async(func, iterable, mapstar, chunksize).get()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Archivo “C:\Users\hyelm\miniconda3\envs\wordextr\Lib\multiprocessing\pool.py”, línea 774, en get
    aumentar self._value
    AttributeError: el objeto 'DataFrame' no tiene el atributo 'añadir'

  4. foto de avatar 조혜림 dice:

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    AttributeError: el objeto 'DataFrame' no tiene el atributo 'append'. ¿Quiso decir: '_append'?
    “””

    El código del comentario anterior se copió de forma demasiado extraña, así que lo dejaré de nuevo.
    ¿Este error se debe a un problema con la versión de Pandas?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

es_ESEspañol