¿Cómo dividir la tabla de Excel en files CSV en .doc por text en negrita?

Tiene 777 files .doc donde cada file .doc contiene una gran tabla de Excel, como una aquí y en la Fig. 1. Aquí, solo considere un file .doc. Quiero dividir la tabla de Excel del file .doc en files CSV por cualquier lenguaje de progtwigción Unix y / o scripting. No puedo encontrar una forma de manejar los formattings de file de Microsoft en files CSV. Pseudocódigo:

  1. Extraiga la tabla de Excel del file .doc, que se expande en el hilo ¿Cómo extraer muchos elementos de text + tabuladores de .doc en CSV mediante cualquier herramienta de Unix?
  2. Dividir la tabla de Excel (quizás convertir aquí ya en CSV) en files .CSV separados por regla:

    nueva negrita indica una nueva tabla, es decir, un nuevo file CSV.

  3. Aplicar columnas implícitas Ubicación (abajo / arriba) y Fecha (dd.mm.aaaa) en las dos primeras líneas del file .doc en cada file CSV separado. Use la columna de time (mañana / noche / noche).

Orientar los files con sus columnas por Regla

  1. Assisstants.csv: nombre, date, location, hora
  2. Other.Assistants.csv – Nombre, date, location, hora
  3. General.csv: evento, date, location, hora

Fig. 1 Ejemplo de tabla de Excel en file .doc

enter image description here

SO: Linux Debian Stretch 9 y otros
Datos: file .odt aquí

    DE ACUERDO…


    Begin Mini Tutorial


    Por lo tanto, aquí hay algunos consejos para generar una database postgresql para importar sus informes diarios.

    Primero, instala postgresql si aún no lo has hecho:

    $sudo apt-get install postgresql 

    En segundo lugar, si no está familiarizado con postgresql, la installation pnetworkingeterminada de postgresql en Debian está configurada para permitir que cada usuario inicie session a través de la authentication entre pares sin contraseña. Sin embargo, debe crear una database que sea propiedad del usuario.

    Aquí es cómo hacer eso:

    • Caer en un caparazón privilegiado

      $ sudo -s

    • Conviértete en el superusuario de postgres

      # su postgres

    • Crea una database para que el usuario juegue

      postgres $ createdb dbname -O usuario

    • A continuación, salga dos veces para volver a userland.

      postgres $ salida

      # exit

      ps

    • Deberías estar listo para comenzar a usar postgresql

    He generado un file SQL que se puede importar para crear las tablas. Puede copyr y pegar lo siguiente en algo como tables.sql

     CREATE TYPE shifts AS ENUM ('morning','evening','night'); CREATE TYPE titles AS ENUM ('assistant','other_assistant'); CREATE TABLE assistants (id integer, name char(20), title titles); CREATE TABLE disposition (id integer, name char(20), shift shifts, day date, comments text); CREATE TABLE schedule (id integer, name1 char(2), name2 char(20), name3 char(20), name4 char(20), name5 char(20), shift shifts, day date); 

    Y luego importa las tablas:

     psql user=>\i tables.sql 

    Si analiza su informe diario en tres files CSV separados, cada file puede importarse directamente en cada tabla individual utilizando el command \ copy.

    Algo como esto:

     \copy assistants FROM '~/assistants.csv' WITH (FORMAT csv); \copy dispositions FROM '~/dispositions.csv' WITH (FORMAT csv); \copy schedule FROM '~/schedule.csv' WITH (FORMAT csv); 

    Esto llenará sus tablas con datos y le permitirá realizar consultas como averiguar quién realizó los comentarios hoy y cuáles fueron …

    Algo como esto:

      select * from disposition where day = 'TODAY'; 

    Podría producir el siguiente resultado:

      id | name | shift | day | comments ----+----------------------+---------+------------+---------- | Vir | morning | 2017-10-23 | Peaceful 

    End Mini Tutorial


    ¿Esto es útil? ¿O estoy pensando demasiado profundamente o solo estoy confundiéndote?