Aiuto per scriptino

Salve a tutti, avrei bisogno di un aiuto per uno scriptino. Non devo
inserirlo in nessun programma, non devo fare nessun programma.
Mi ritrovo un elenco di nomi (indirizzi ecc…) molto grande, solo che
così come me lo ritrovo non è di nessuna utilità. Vorrei dividerlo in
colonne in modo che possafare un copia ed incolla su un foglio di calc e
poterlo ordinare a piacimento.
Non credo che sia molto complicato (per chi lo sa fare) mi date una
mano?

grazie

2011/3/7 Nicholas W. [email protected]:

Perch non ci mostri quello che hai fatto finora ?

e magari, un pezzo del file in input :slight_smile:


blog en: http://www.riffraff.info
blog it: http://riffraff.blogsome.com
work: http://cascaad.com

Perch non ci mostri quello che hai fatto finora ?

ngw

On Mar 7, 2011, at 9:16 AM, jamba jamba wrote:


Posted via http://www.ruby-forum.com/.


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


[ 926381, 23200231779, 1299022, 1045307475 ].collect { |a| a.to_s( 36 )
}.join( " " )
Nicholas W. (ngw)
[email protected]invalid
http://www.nofeed.org

On Mar 7, 2011, at 2:41 PM, gabriele renzi wrote:

2011/3/7 Nicholas W. [email protected]:

Perch non ci mostri quello che hai fatto finora ?

e magari, un pezzo del file in input :slight_smile:

Contavo di dedurlo dallo script :smiley:

ngw


[ 926381, 23200231779, 1299022, 1045307475 ].collect { |a| a.to_s( 36 )
}.join( " " )
Nicholas W. (ngw)
[email protected]
http://www.nofeed.org

Sei su unix? Se nn ci sono altri spazi se non il divisore del campo.
Se si puoi fare: cat file | tr " " “,” > output.csv

A questo punto dovresti avere un file CSV che pu essere importato in
calc o
in excel :slight_smile:

2011/3/7 jamba jamba [email protected]

tutto su un altro file. ripeto l’operazione modificando lo script

Perch non ci mostri quello che hai fatto finora ?

[email protected]
Posted via http://www.ruby-forum.com/.


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


“… static analysis is fun, again!”

OWASP Orizon project leader,
http://github.com/thesp0nge/owasp-orizonhttp://github.com/owasp-orizon
OWASP Esapi Ruby project leader,
https://github.com/thesp0nge/owasp-esapi-ruby

il problema è proprio questo…non ho fatto nulla ( e non credo che
riuscirò a fare nulla)
ad ogni modo l’elenco non è grandissimo. sono un migliaio di righe,
tutte composte così:
n. d’ordine, numero di iscrizione, nome, cognome, indirizzo, città.
tutti divisi da uno spazio vuoto (niente punteggiatura).
Se copio incollo le righe così su calc, non riesco ad ordinarle perchè
risultano tutte sulla prima riga. Qundi senza complicarmi troppo la vita
pensavo di far leggere il file dallo scriptino, individuare il primo
spazio vuoto e “buttare via” tutto quello che c’è dopo e salvare il
tutto su un altro file. ripeto l’operazione modificando lo script
(secondo spazio, terzo spazio ecc…) creandomi così n file. poi con un
semplice copia incolla dovrei riuscire ad incollare ogni file in una
singola colonna.
che ne dite puo’ funzioanre?
quando salvo il file, l’ordine non viene cambiato giusto?

Nicholas W. wrote in post #985909:

Perch non ci mostri quello che hai fatto finora ?

ngw

On Mar 7, 2011, at 9:16 AM, jamba jamba wrote:


Posted via http://www.ruby-forum.com/.


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


[ 926381, 23200231779, 1299022, 1045307475 ].collect { |a| a.to_s( 36 )
}.join( " " )
Nicholas W. (ngw)
[email protected]
http://www.nofeed.org

credo che il problema siano proprio gli spazi a partire da nome e
cognome in
poi. ordine ed iscrizione, essendo numerici, non comportano problemi.

immagino che una riga possa apparire come:

123456 54321 Pippo Pippetti via vattelappesca 42 roma

che sono 7 spazi, contanto anche quello che comincia con "via ", ma
potrebbe
legittimamente essere:

123456 54321 Gian Pippo De Pippettis via del vattelappesca 42 roma

che di spazi ne ha 10, ma senza certezze sul come distribuire i campi

A.

Il 07/03/2011 19:07, Paolo P. ha scritto:

2011/3/7 Andrea P. [email protected]:

123456 54321 Gian Pippo De Pippettis via del vattelappesca 42 roma

che di spazi ne ha 10, ma senza certezze sul come distribuire i campi

eh gi, se il separatore (lo spazio) nel mezzo dei campi senza
escape dubito si possa fare qualcosa (che poi almeno google docs i txt
separati da spazi mi pare li capisca, quindi penso anche calc)


blog en: http://www.riffraff.info
blog it: http://riffraff.blogsome.com
work: http://cascaad.com

Il 07/03/2011 20:02, luca sabato ha scritto:

un altro problema potrebbe essere il doppio nome o se qualcuno ha
inserito la sigla prima del nome es. Dott. Mario R.

esatto

Che ne pensate???

purtroppo, non hai comunque garanzie, neanche usando regole pi
dettagliate:

se un indirizzo dovesse essere: “via della strada interrotta di roma”,
avresti
gi 2 parole chiave sulla quale dovrai prendere qualche decisione (“via”
e
“strada”), pi un doppio nome di citt (“roma” e la vera citt indicata).

ok, non bisogna costruire un algoritmo valido per tutte le situazioni
(anche
future), e probabilmente i contenuti del file di input sono tutti
“standard”,
quindi non occorre preoccuparsi troppo di questi dettagli. per lo terrei
presente :stuck_out_tongue:

A.

Il 07/03/2011 19:43, gabriele renzi ha scritto:

123456 54321 Gian Pippo De Pippettis via del vattelappesca 42 roma

che di spazi ne ha 10, ma senza certezze sul come distribuire i campi
eh gi, se il separatore (lo spazio) nel mezzo dei campi senza
escape dubito si possa fare qualcosa (che poi almeno google docs i txt
separati da spazi mi pare li capisca, quindi penso anche calc)

un altro problema potrebbe essere il doppio nome o se qualcuno ha
inserito la sigla prima del nome es. Dott. Mario R.

pero si potrebbe procedere suddividendo la stringa iniziale in sotto
stringe secondo delle regole

  • il primo gruppo prende il codice alfanumerico
  • il secondo prende la porzione di stringa successiva alla prima fino al
    inizio di un indirizzo, come logica un indirizzo comincia con una delle
    seguenti parole (piazza, via, viale, contrada, strada etc etc)
  • l’ultima porzione e quella compresa tra il delimitatore di indirizzo e
    il fine linea.

cosi sarebbe possibile suddividere l’informazione in modo logico.

Che ne pensate???

Luca

Il 07/03/2011 20:14, Andrea P. ha scritto:

inizio di un indirizzo, come logica un indirizzo comincia con una delle
gi 2 parole chiave sulla quale dovrai prendere qualche decisione (“via” e
“strada”), pi un doppio nome di citt (“roma” e la vera citt indicata).

ok, non bisogna costruire un algoritmo valido per tutte le situazioni (anche
future), e probabilmente i contenuti del file di input sono tutti “standard”,
quindi non occorre preoccuparsi troppo di questi dettagli. per lo terrei
presente :stuck_out_tongue:

A.

pensandoci poi ci sarebbe comunque un altro problema come ad
esempio"213213 132131 Nino Strada, via dei mille Roma" quando nel
cognome sono presenti le parole che vanno a delimitare l’indirizzo :smiley: :S

Luca

Mmmmh secondo me se non esiste alcun vero separatore di campo non puoi
decidere con un software quando sei su un campo nuovo e quando sei
all’interno di una stringa complessa.

P

2011/3/8 Duncan [email protected]

da pilotare l’acquisizione.


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


“… static analysis is fun, again!”

OWASP Orizon project leader,
http://github.com/thesp0nge/owasp-orizonhttp://github.com/owasp-orizon
OWASP Esapi Ruby project leader,
https://github.com/thesp0nge/owasp-esapi-ruby

Se posso dire la mia una soluzione potrebbe essere fare uno script che
divide i record tra quelli facilmente processabili e querlli che
richiedono
controllo, esempio

12345 mario rossi via matteotti 1

si decide che si prendono come delimitatori il primo ed il terzo spazio

per gli altri sar necessario fare uno script che permetta l’editing in
modo
da pilotare l’acquisizione.

Paolo P. wrote in post #986138:

Mmmmh secondo me se non esiste alcun vero separatore di campo non puoi
decidere con un software quando sei su un campo nuovo e quando sei
all’interno di una stringa complessa.

Non è che magari i campi iniziano ad una posizione fissa, ad esempio gli
indirizzi iniziano tutti al carattere 40?

E’ strano infatti avere un file con campi senza separatori che non sia a
posizione fissa, perché come hanno già fatto notare gli altri non c’è
modo di riuscire ad estrarre i dati. L’unica possibilità è che sia stato
prodotto male, nel qual caso si deve ritornare all’origine dei dati ed
esportarli nel modo corretto.

L’alternativa è far passare a mano tutti i record e sistemarli. Non è
una cosa così pazzesca perché per esperienza spesso si trovano un po’ di
somiglianze tra i record che permettono di automatizzare in parte il
lavoro e ridurlo da qualche giorno a qualche ora. Però bisogna avere una
certa manualità nello scrivere script, altrimenti ci si mette troppo
tempo.

Paolo

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs