[Python] R: A proposito di replace (Vittorio Zuccala')

Giuseppe Amato giuamato a gmail.com
Mer 21 Apr 2010 18:43:29 CEST


Ciao,
Ipotizzo che tu non sappia a priori quante cifre siano, che semplificherebbe
le cose,comunque in generale io farei una cosa del genere:

a='123456789'
b=''
j=len(a)
for i in range(len(a)-3,0,-3):
    b='.'+a[i:j]+b
    j=i    
b=a[:i]+b
print b

Puo essere utile?


-----Messaggio originale-----
Da: python-bounces a lists.python.it [mailto:python-bounces a lists.python.it]
Per conto di python-request a lists.python.it
Inviato: mercoledì 21 aprile 2010 12:00
A: python a lists.python.it
Oggetto: Digest di Python, Volume 50, Numero 13

Invia le richieste di iscrizione alla lista Python all'indirizzo
	python a lists.python.it

Per iscriverti o cancellarti attraverso il web, visita
	http://lists.python.it/mailman/listinfo/python
oppure, via email, manda un messaggio con oggetto `help' all'indirizzo
	python-request a lists.python.it

Puoi contattare la persona che gestisce la lista all'indirizzo
	python-owner a lists.python.it

Se rispondi a questo messaggio, per favore edita la linea dell'oggetto
in modo che sia più utile di un semplice "Re: Contenuti del digest
della lista Python..."


Argomenti del Giorno:

   1. A proposito di replace (Vittorio Zuccala')


----------------------------------------------------------------------

Message: 1
Date: Wed, 21 Apr 2010 11:57:32 +0200
From: "Vittorio Zuccala'" <vittorio.zuccala a gmail.com>
Subject: [Python] A proposito di replace
To: Discussioni generali sul linguaggio Python
	<python a lists.python.it>
Message-ID:
	<y2i268464b81004210257j40f0573fj269805e6d1f49834 a mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"

Buongiorno a tutti,
in lista è girato un post articolato sul replace.
Vorrei fare qualcosa di simile ma leggermente più articolato e vi chiedo
aiuto.

Ecco il problema: un programma di statistica genera un CSV con diverse
colonne.
Io vado a parsare il CSV e recupero i campi tra i quali degli importi numeri
come i seguenti:

68894.090000
101106.630000

Quello che vorrei fare è far diventare questi numeri (anche in formato
stringa) del tipo:

? 68.894
?101.106

e quindi il concetto è: quando trovo un punto all'interno di uno dei campi
CSV (quindi ciò che il programma identifica come valuta), fai sparire quello
che c'è dopo il punto mentre le cifre prima del punto raggruppale per tre e
inserisci un puntino in mezzo.
Con il replace potrei fare qualcosa tipo:

stringa.replace('.$','')

Il comando è da affinare con la lettura di qualche tutotial ma
concettualmente ci dovremmo essere.
Quello che non riesco a fare è dirgli la seconda parte ovvero raggruppa le
cifre prima del punto in gruppi di tre e mettici un puntino in mezzo.
Idee in merito?
Grazie per l'aiuto
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL:
http://lists.python.it/pipermail/python/attachments/20100421/c97b6b56/attach
ment-0001.htm 

------------------------------

_______________________________________________
Python mailing list
Python a lists.python.it
http://lists.python.it/mailman/listinfo/python


Fine di Digest di Python, Volume 50, Numero 13
**********************************************



Maggiori informazioni sulla lista Python