Re: OT: Script per elaborare un file di testo
Il 15 dicembre 2011 19:08, Davide Prina ha scritto: > On 15/12/2011 16:29, pac wrote: >> >> Il 14 dicembre 2011 19:10, Davide Prina ha scritto: >> >>> On 14/12/2011 16:14, pac wrote: > > dovrei importarlo poi in OpenOffice per riordinarlo etc etc > > >>> cosa? e per quale motivo? > > >> Perchè c'è un'addetta che deve estrarre dei dati e trascriverne altri, >> quali il codice prodotto, la data di scadenza, il prezzo, la famiglia >> e il marchio. > > > ma allora fai tutte le modifiche, ordinamenti, ... al file da linea di > comando e poi importi in un foglio elettronico. > > In questo modo ogni volta che ti arriva un file, esegui lo script e poi lo > importi già pronto per l'uso senza dover far altro Infatti era questa l'intenzione, forse mi ero spiegato male. Script e import. Il file sarà quotidiano, ma non so come mi arriverà, nel senso che obbligatoriamente il file deve esser downlodato utilizzando un applicativo "ftp" creato dall'azienda di software del fornitore che si deve obbligatoriamente acquistare e debbono obbligatoriamente venir loro ad installare. La piattaforma di download deve esser obbligatoriamente windows ed altre condizioni del genere. Quindi faremo installare su un computer windows 7 questo applicativo, in questo pc c'è una VirtualBox Debian e quindi condividerò la cartella e da Debian mi prenderò il file per sistemarlo, poi la ragazza se lo prenderà in una cartella condivisa oppure glielo passeremo direttamente per l'import, ma il passare alla ragazza avrebbe controindicazioni in caso di sua assenza, meglio la cartella condivisa. Ciao e grazie mille pac -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAHmhrxA3Y1fa=qaux+nurugk-o+jdbtkkgzsr_v_bvhagz5...@mail.gmail.com
Re: OT: Script per elaborare un file di testo
On 15/12/2011 16:29, pac wrote: Il 14 dicembre 2011 19:10, Davide Prina ha scritto: On 14/12/2011 16:14, pac wrote: dovrei importarlo poi in OpenOffice per riordinarlo etc etc cosa? e per quale motivo? Perchè c'è un'addetta che deve estrarre dei dati e trascriverne altri, quali il codice prodotto, la data di scadenza, il prezzo, la famiglia e il marchio. ma allora fai tutte le modifiche, ordinamenti, ... al file da linea di comando e poi importi in un foglio elettronico. In questo modo ogni volta che ti arriva un file, esegui lo script e poi lo importi già pronto per l'uso senza dover far altro Ciao Davide -- Dizionari: http://linguistico.sourceforge.net/wiki Perché microsoft continua a compiere azioni illegali?: http://linguistico.sf.net/wiki/doku.php?id=traduzioni:ms_illegal GNU/Linux User: 302090: http://counter.li.org Non autorizzo la memorizzazione del mio indirizzo su outlook -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4eea37a3.1060...@gmail.com
Re: OT: Script per elaborare un file di testo
Il 14/12/2011 18.33, NN_il_Confusionario ha scritto: On Wed, Dec 14, 2011 at 05:42:40PM +0100, simozack wrote: Il 14 dicembre 2011 16:14, pac ha scritto: Un'azienda mi dovrebbe mandare un file di testo con una lunga serie di campi tutti a larghezza fissa e predeterminata Python è formidabile in questi casi. On Wed, Dec 14, 2011 at 05:53:07PM +0100,giuse...@iclam.191.it wrote: io uso un'utility in perl per mettere i separatori zless /usr/share/doc/sed/sedfaq.txt.gz cercare fixed-length grazie! stavo provandolo su dpkg -l > installati.txt sed 's/^\(.\{4\}\)\(.\{37\}\)\(.\{27\}\)/\1\;\2\;\3\;/' installati.txt e funziona correttamente mettendo i ; ai primi tre campi, per curiosita' ho provato anche: awk 'BEGIN{FIELDWIDTHS = "4 37 27 1"}; {print $1";"$2";"$3";"}' installati.txt funziona e mi da' i primi tre campi solo se metto un quarto campo. ciao Beppe A questo punto voglio vedere la soluzione in open-cobol. -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4eea131d.4040...@iclam.191.it
Re: OT: Script per elaborare un file di testo
Il 14 dicembre 2011 19:10, Davide Prina ha scritto: > On 14/12/2011 16:14, pac wrote: >> >> un file di testo con una lunga serie di campi tutti a larghezza fissa >> e predeterminata, > > > ok > > >> dovrei importarlo poi in OpenOffice per riordinarlo etc etc > > > cosa? e per quale motivo? Perchè c'è un'addetta che deve estrarre dei dati e trascriverne altri, quali il codice prodotto, la data di scadenza, il prezzo, la famiglia e il marchio. Se lo lasciamo in un file di testo con tutti i dati uniti, la poveretta non riesce a capirci nulla. Quindi siccome non vale la pena starci a lavorare più di tanto, un foglio elettronico va più che bene. Risolve il problema con poco sforzo. > > >> I campi non divisi da alcun separatore di campo. > > > e che problema fa? > usa il più potente editor esistente sulla faccia della Terra: sed! ;-) > più gli altri strumenti GNU e puoi fare quello che vuoi: sort, uniq, cut, > grep, ... > > Il tutto in tempi quasi immediati e con poco sforzo (se già conosci gli > strumenti). > > Ciao > Davide > > -- > Dizionari: http://linguistico.sourceforge.net/wiki > Petizione per l'uso di formati accessibili nell'Unione Europea > http://tinyurl.com/y6u4m5 > Non autorizzo la memorizzazione del mio indirizzo su outlook > > > > -- > Per REVOCARE l'iscrizione alla lista, inviare un email a > debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per > problemi inviare un email in INGLESE a listmas...@lists.debian.org > > To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > Archive: http://lists.debian.org/4ee8e67a.6040...@gmail.com > -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAHmhrxDMK-FUJA50DmDZM9QpczZxmeUyyRTaiBhi=ovhwnv...@mail.gmail.com
Re: OT: Script per elaborare un file di testo
Il 14/12/2011 16.14, pac ha scritto: Un'azienda mi dovrebbe mandare un file di testo con una lunga serie di campi tutti a larghezza fissa e predeterminata, dovrei importarlo poi in OpenOffice per riordinarlo etc etc I campi non divisi da alcun separatore di campo. Domandavo quindi se qualcuno mi poteva aiutare a fare uno script in cui si mette ";" nella posizione 16 poi nella 66, 116 e così via senza bisogno di fare in cobol un programmino che legge il file in input e ne crea una copia in output con relativi separatori di campo. Grazie comunque io uso un'utility in perl per mettere i separatori ciao Beppe #!/usr/bin/perl -w # $file_in nome file in lettura # $flusso_in handle in lettura # $file_out nome file in scittura # $flusso_out handle in scrittura # $riga riga letta dal file $file_in = "\/cmd\/list\/file_dati"; $file_out = "\/cmd\/list\/file_dati.csv"; $flusso_in = "IN"; $flusso_out = "OUT"; $riga = ""; $temp = ""; # print ( "File in Lettura: $file_in\n, File in Scrittura: $file_out\n" ); open ($flusso_in, "< $file_in") or die "impossibile aprire: $file_in\n"; open ($flusso_out, "> $file_out") or die "impossibile aprire: $file_out\n"; # legge dal file $file_in e scrive in $file_out # legge ogni riga ed inserisce ; per creare un file csv # alla fine del $file_in chiude entrambi i files # attenzione la prima colonna e' = 0 while ($riga = <$flusso_in>) { if ( length ($riga) > 130 ) { $temp = join (';', join('.', substr ($riga, 0, 14), substr ( $riga, 15, 64), substr ( $riga, 65, xx), substr ( $riga, xx, xx), substr ( $riga, xx, xx), substr ( $riga, xx, xx), substr ( $riga, xx, x), "\r" ); # print $flusso_out length ($riga); print $flusso_out "$temp\n"; } } close ($flusso_in); close ($flusso_out); -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4ee8d473.2040...@iclam.191.it
Re: OT: Script per elaborare un file di testo
Il 14 dicembre 2011 16:14, pac ha scritto: > Un'azienda mi dovrebbe mandare un file di testo con una lunga serie di > campi tutti a larghezza fissa e predeterminata, dovrei importarlo poi > in OpenOffice per riordinarlo etc etc > I campi non divisi da alcun separatore di campo. > Domandavo quindi se qualcuno mi poteva aiutare a fare uno script in > cui si mette ";" nella posizione 16 poi nella 66, 116 e così via senza > bisogno di fare in cobol un programmino che legge il file in input e > ne crea una copia in output con relativi separatori di campo. E' da un po' che non uso OpenOffice (purtroppo in ufficio sono vincolato ad Office), ma se apri il file (di testo) direttamente con Calc mi pare di ricordare che puoi definire tu come incolonnare il tutto (ti dovrebbe apparire una procedura guidata). Se non ricordo male, però, devi farlo aprendo Calc e lanciare Apri da lì e non lanciare con il doppio clic il file. Altrimenti, Python è formidabile in questi casi. Ti basta sapere un paio di istruzioni e fa tutto lui. Se hai bisogno dimmi che te lo scrivo io, tanto sono 5 minuti (si sta più a definire come devono essere suddivisi i campi che altro). Ciao, Simone -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAFnaeGKVQdY3q-effnf-9HGc0=D=v27uncsba-a-j9sm40e...@mail.gmail.com
OT: Script per elaborare un file di testo
Un'azienda mi dovrebbe mandare un file di testo con una lunga serie di campi tutti a larghezza fissa e predeterminata, dovrei importarlo poi in OpenOffice per riordinarlo etc etc I campi non divisi da alcun separatore di campo. Domandavo quindi se qualcuno mi poteva aiutare a fare uno script in cui si mette ";" nella posizione 16 poi nella 66, 116 e così via senza bisogno di fare in cobol un programmino che legge il file in input e ne crea una copia in output con relativi separatori di campo. Grazie comunque -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/cahmhrxa_vthhunkpw2zgkrbqp4gja6d1jui-ynn96ttsxcj...@mail.gmail.com