Come convertire un documento Word in data base?

"Null reference exception"? no, grazie, prendo un "unexpected T_VARIABLE"... Questo è il forum per imparare l'arte della programmazione o per chiedere un parere su una sessione di debug particolarmente ostica.
Regole del forum
Ricorda di indicare chiaramente nell'oggetto il linguaggio ([C#] oppure [PHP], [Java], [HTML], ...), se la discussione ne riguarda uno in particolare!
Rispondi
Avatar utente
Fiopri
Livello: EPROM (2/15)
Livello: EPROM (2/15)
Messaggi: 27
Iscritto il: sab mag 03, 2014 3:47 pm

Come convertire un documento Word in data base?

Messaggio da Fiopri »

Ciao ragazzi, spero di ver scelto la sezione giusta, se così non è provvederanno i moderatori.

Dispongo di un documento di solo testo, in formato MS Word, composto prevalentemente da citazioni, in totale dovrebbero essere oltre duemila.
Per ognuna è indicata:

- la fonte,

- l'autore,

- l'anno.

Inoltre, ognuna di queste citazioni appartiene ad un "capitolo" che domani potrebbe essere un gruppo o un tag.
L'obietttivo è quello di trasferire queste citazioni sul web, ovviamente dopo aver convertito il formato in un data base.
Mi chiedevo se oltre al copia incolla manuale, esistesse un modo per semplificare l'operazione.

Grazie a coloro che sapranno darmi indicazioni utili. :)

System
System
Bot ufficiale TurboLab.it
Bot
Messaggi:
Iscritto il: sab dic 31, 2016 6:19 pm
Contatta: Contatta

Re: Come convertire un documento Word in data base?

Messaggio da System » mer feb 04, 2015 7:26 am


Avatar utente
Zane
Fondatore
Fondatore
Messaggi: 4700
Iscritto il: mer mag 01, 2013 11:20 am
Contatta:

Re: Come convertire un documento Word in data base?

Messaggio da Zane »

Urca!! Non vedo altre soluzioni se non scrivere qualcosa ad hoc che apra il testo Word, faccia il parsing dei dati e li spari nel DB. Non-banale, ma nemmeno impossibile.

Per quanto riguarda tool già pronti, io non ne conosco.
Zane - TurboLab.it

Avatar utente
Andy94
Livello: Workstation (10/15)
Livello: Workstation (10/15)
Messaggi: 1364
Iscritto il: mer mag 01, 2013 1:35 pm
Località: Villorba (TV)

Re: Come convertire un documento Word in data base?

Messaggio da Andy94 »

Non conosco tool già pronti nemmeno io, però potrei azzardare una soluzione come questa.

So che mi scatenerò contro le (giuste) ire dei puristi, ma se si denota un pattern comune conviene comunque provare.

Che versione di Word è stata usata per fare il documento? Il formato è DOC o DOCX? Visto che il codice usato per un documento Word è assimilabile a un "quasi" HTML, un parser tramite espressioni regolari o tramite PHP potrebbe altresì essere una soluzione.

Questo ovviamente a condizione che i dati siano tra loro formattati in modo diverso (es. citazione tra virgolette, autore e anno in corsivo e similari).
Se la pazienza è una virtù, attendere è un'arte...
Stiamo tornando...

Avatar utente
developerwinme
Livello: Workstation (10/15)
Livello: Workstation (10/15)
Messaggi: 1319
Iscritto il: mer mag 01, 2013 1:35 pm
Località: Como
Contatta:

Re: Come convertire un documento Word in data base?

Messaggio da developerwinme »

Andy94 ha scritto: Il formato è DOC o DOCX?
Se il formato è DOCX (ma comunque, avendo Office 2013/2010/2007 (meglio 2013, perché supporta il formato "Strict" di DOCX), dovrebbe essere possibile convertire in DOCX anche i DOC), forse si può parsare con gli strumenti messi a disposizione da Microsoft ( https://msdn.microsoft.com/en-us/librar ... e.15).aspx ): non li ho mai usati, ma magari possono tornare d'aiuto. :)
Marco Adriani
developerwinme.wordpress.com

Avatar utente
Fiopri
Livello: EPROM (2/15)
Livello: EPROM (2/15)
Messaggi: 27
Iscritto il: sab mag 03, 2014 3:47 pm

Re: Come convertire un documento Word in data base?

Messaggio da Fiopri »

Grazie a tutti per i vostri contributi. :)

Temevo non ci fossero strumenti o automatismi adatti allo scopo, e voi me lo avete in parte confermato, non ho ancora consultato il link a MS che gentilmente mi ha passato developpermind, lo consulterò con attenzione.

Nel fratempo aggiungo che il documento è stato creato con Word 2003, ma credo che il problema sia rappresentato dalla assoluta assenza di elementi che contaddistinguono i futuri campi del record, ovvero il capitolo/gruppo, la fonte, l'autore, l'anno ed infine il testo della citazione.

Per poter essere riconosciuti dovrebbero essere contassegnati prima, uno ad uno, perchè oggi sono solo riferimenti che costituiscono parte integrante del testo, inoltre non sono sempre nella stessa posizione rispetto agli altri elementi che dovrebbero comporre il record.

Se allo stato attuale non sarà possibile automatizzare il processo, converrà contrassegnare i circa 8.000 campi, o a quel punto converrà accollarsi 8.000 copia-incolla?

Avatar utente
Andy94
Livello: Workstation (10/15)
Livello: Workstation (10/15)
Messaggi: 1364
Iscritto il: mer mag 01, 2013 1:35 pm
Località: Villorba (TV)

Re: Come convertire un documento Word in data base?

Messaggio da Andy94 »

Secondo me, se si vuole sviluppare un automatismo di qualsiasi forma andrebbe provato su di un campione di elementi (ad es. 50) che sono stati preventivamente formattati a dovere.

In questo modo si potrebbero cogliere le eventuali potenzialità e carenze di un sistema del genere, al fine di capire se:

- Valga la pena formattarli tutti e poi lasciar fare all'automatismo
- Convenga armarsi di pazienza e copiaincollare il tutto.
Se la pazienza è una virtù, attendere è un'arte...
Stiamo tornando...

Avatar utente
Al3x
Amministratore
Amministratore
Messaggi: 3992
Iscritto il: mer mag 01, 2013 12:59 pm
Località: http://127.0.0.1

Re: Come convertire un documento Word in data base?

Messaggio da Al3x »

Fiopri ha scritto: Per poter essere riconosciuti dovrebbero essere contassegnati prima
pensavo all'inserimento manuale di un carattere che faccia da separatore di campi e record in modo da tentare un import con access e di seguito un export nel formato che si desidera. Una soluzione laboriosa ma meno impegnativa del copia-incolla.

potresti postare un esempio, tipo un paio di citazioni e quali i punti in cui devono per te essere suddisi in campi? (fonte, autore, anno e testo ecc.)
I :amore Sasha

Avatar utente
Andy94
Livello: Workstation (10/15)
Livello: Workstation (10/15)
Messaggi: 1364
Iscritto il: mer mag 01, 2013 1:35 pm
Località: Villorba (TV)

Re: Come convertire un documento Word in data base?

Messaggio da Andy94 »

Di solito, quando devo fare una cosa di questo tipo (che rimane una buona idea, semplificando anche il lavoro per un eventuale parser) uso il carattere §. L'unico scenario di utilizzo nel mio caso :D
Se la pazienza è una virtù, attendere è un'arte...
Stiamo tornando...

Avatar utente
Al3x
Amministratore
Amministratore
Messaggi: 3992
Iscritto il: mer mag 01, 2013 12:59 pm
Località: http://127.0.0.1

Re: Come convertire un documento Word in data base?

Messaggio da Al3x »

con le funzioni interne di word si possono automatizzare o semplificare alcune operazioni quali la ripetizione dell'ultimo comando (tasto F4) e con trova\sostituisci. Per chi sa usare le macro (ogni riga vuota si comanda l'inserimento del carattere di separazione) il lavoro diventa ancora più semplice
I :amore Sasha

Avatar utente
Fiopri
Livello: EPROM (2/15)
Livello: EPROM (2/15)
Messaggi: 27
Iscritto il: sab mag 03, 2014 3:47 pm

Re: Come convertire un documento Word in data base?

Messaggio da Fiopri »

Andy94 ha scritto:Secondo me, se si vuole sviluppare un automatismo di qualsiasi forma andrebbe provato su di un campione di elementi (ad es. 50) che sono stati preventivamente formattati a dovere.

In questo modo si potrebbero cogliere le eventuali potenzialità e carenze di un sistema del genere, al fine di capire se:

- Valga la pena formattarli tutti e poi lasciar fare all'automatismo
- Convenga armarsi di pazienza e copiaincollare il tutto.
Hai ragione Andy94, bisogna vedere se ne vale la pena, perché:

- nelle citazioni non sempre sono presenti tutti i "campi" menzionati;

- questi "campi" non sono sempre nella stessa posizione, a volte sono all'inizio, a volte alla fine, ma altre volte sono inseriti pure nel testo della citazione, fra parentesi o altri segni;

non vedo come un automatismo/programma tradizionale, per la conversione dei formati, potrebbe capire se sono presenti i campi, dove sono collocati rispetto agli altri ecc.

Con programmi fatti su misura e corredti di adeguate tecnologie forse si riuscirebbe, ma temo che costerebbe molto di più di un copia-incolla fatto a manina. :(

Ipotizziamo 2.000 citazioni, un minuto e mezzo cad. per copiare i 4 campi, in totale servirebbero circa 50 ore, oggi quantificabili in 500 euro, se affidate a qualche studente.

Quanto mi costerebbe se fatto con un apposito programma?

Non considero nemmeno l'ipotesi della preventiva "normalizzazione" dei testi, perchè impiegherei gli stessi tempi di un copia-incolla direttamente nel database.

Avatar utente
Andy94
Livello: Workstation (10/15)
Livello: Workstation (10/15)
Messaggi: 1364
Iscritto il: mer mag 01, 2013 1:35 pm
Località: Villorba (TV)

Re: Come convertire un documento Word in data base?

Messaggio da Andy94 »

- nelle citazioni non sempre sono presenti tutti i "campi" menzionati;
- questi "campi" non sono sempre nella stessa posizione, a volte sono all'inizio, a volte alla fine, ma altre volte sono inseriti pure nel testo della citazione, fra parentesi o altri segni;
Questo è un problema per un parser, che magari si aspetta una costanza nell'ordine dei campi
Fiopri ha scritto:Quanto mi costerebbe se fatto con un apposito programma?
Non saprei dirti, il problema sicuramente è che l'apposito programma va prima di tutto trovato...
Se la pazienza è una virtù, attendere è un'arte...
Stiamo tornando...

Avatar utente
Al3x
Amministratore
Amministratore
Messaggi: 3992
Iscritto il: mer mag 01, 2013 12:59 pm
Località: http://127.0.0.1

Re: Come convertire un documento Word in data base?

Messaggio da Al3x »

Fiopri ha scritto: - questi "campi" non sono sempre nella stessa posizione, a volte sono all'inizio, a volte alla fine, ma altre volte sono inseriti pure nel testo della citazione, fra parentesi o altri segni;
bel problema, i dati non possiedono una struttura e sono un susseguirsi di caratteri alfanumerici privi di uno schema, una specie di blob difficilmente gestibile in automatico, vedo il copia&incolla a manina nel tuo futuro :D

p.s. cmq non ci hai postato alcun esempio, coperti da segreto militare oppure roba a sfondo erotico? :mrgreen:
I :amore Sasha

Avatar utente
Fiopri
Livello: EPROM (2/15)
Livello: EPROM (2/15)
Messaggi: 27
Iscritto il: sab mag 03, 2014 3:47 pm

Re: Come convertire un documento Word in data base?

Messaggio da Fiopri »

Al3x ha scritto:
Fiopri ha scritto: Per poter essere riconosciuti dovrebbero essere contassegnati prima
pensavo all'inserimento manuale di un carattere che faccia da separatore di campi e record in modo da tentare un import con access e di seguito un export nel formato che si desidera. Una soluzione laboriosa ma meno impegnativa del copia-incolla.

potresti postare un esempio, tipo un paio di citazioni e quali i punti in cui devono per te essere suddisi in campi? (fonte, autore, anno e testo ecc.)
Pure io avevo pensato ad un'ipotesi di questo genere, ma, non essendo un programatore, suppongo che sarebbe necessario contassegnare inizio e fine record, oltre all'inizio e fine degli altri quattro campi in modo diverso uno dall'altro. Giusto?
Se così fosse dovremmo contrassegnare inizio e fine di ogni campo con cinque diversi caratteri, senza contare capitoli perchè potremmo processarli uno ad uno.
Orbene, l'inserimento di 10 caratteri speciali per 2.000 citazioni significa inserire 20.000 caratteri nella giusta posizione, secondo me richiederebbe tempi molto simili al copia-incolla. Sbaglio?

Dove sono ora non ho il documento ma provvederò a postare qualche citazione a titolo di esempio.

Avatar utente
Fiopri
Livello: EPROM (2/15)
Livello: EPROM (2/15)
Messaggi: 27
Iscritto il: sab mag 03, 2014 3:47 pm

Re: Come convertire un documento Word in data base?

Messaggio da Fiopri »

Andy94 ha scritto:Non saprei dirti, il problema sicuramente è che l'apposito programma va prima di tutto trovato...
Se anche ci fosse un programma così sofisticato da poter fare il lavoro in automatico dopo l'inserimento di alcuni parametri ed un primo training iniziale, temo proprio che non sarebbe un programma free.
Al3x ha scritto:bel problema, i dati non possiedono una struttura e sono un susseguirsi di caratteri alfanumerici privi di uno schema, una specie di blob difficilmente gestibile in automatico, vedo il copia&incolla a manina nel tuo futuro :D

p.s. cmq non ci hai postato alcun esempio, coperti da segreto militare oppure roba a sfondo erotico? :mrgreen:
Temo anch'io che ci si dovrà rimboccare le maniche per un copia-incolla :cry:

Nessun segreto militare o erotico, solo che non ho qui il documento.

Comunque se tu fossi la stessa persona dell'avatar, ti proporrei di farlo insieme :twisted: :vai

Avatar utente
Al3x
Amministratore
Amministratore
Messaggi: 3992
Iscritto il: mer mag 01, 2013 12:59 pm
Località: http://127.0.0.1

Re: Come convertire un documento Word in data base?

Messaggio da Al3x »

Fiopri ha scritto: Comunque se tu fossi la stessa persona dell'avatar
non ti conviene, 180m x 80kg, uomo e pieno di peli :mrgreen:
I :amore Sasha

Avatar utente
Fiopri
Livello: EPROM (2/15)
Livello: EPROM (2/15)
Messaggi: 27
Iscritto il: sab mag 03, 2014 3:47 pm

Re: Come convertire un documento Word in data base?

Messaggio da Fiopri »

Infatti ho scritto SE TU FOSSI :D

Avatar utente
Al3x
Amministratore
Amministratore
Messaggi: 3992
Iscritto il: mer mag 01, 2013 12:59 pm
Località: http://127.0.0.1

Re: Come convertire un documento Word in data base?

Messaggio da Al3x »

Fiopri ha scritto:Infatti ho scritto SE TU FOSSI :D
benissimo, ma in questi casi meglio chiarire :mrgreen:
I :amore Sasha

Avatar utente
drilloman
Livello: DVD-ROM (5/15)
Livello: DVD-ROM (5/15)
Messaggi: 108
Iscritto il: mar apr 22, 2014 3:05 pm

Re: Come convertire un documento Word in data base?

Messaggio da drilloman »

se il file non è strutturato in "campi" la vedo dura...
al massimo potresti procedere per blocchi del file in cui riesci a riconoscere una qualche forma di struttura e pezzo per pezzo costruire un file ordinato, esportarlo in testo o csv e poi procedere con una qualche importazione.

System
System
Bot ufficiale TurboLab.it
Bot
Messaggi:
Iscritto il: sab dic 31, 2016 6:19 pm
Contatta: Contatta

Re: Re: Come convertire un documento Word in data base?

Messaggio da System » ven feb 06, 2015 11:20 pm


Rispondi
  • Argomenti simili
    Risposte
    Visite
    Ultimo messaggio