[python] JA k bysem udělal následující věc pomocí regulárních výrazů
mtip
mtip na atlas.cz
Pátek Leden 15 09:01:03 CET 2010
Ja bych na to sel nejak takto:
def sconv(text, colString=(), delimiter='\t'):
text = text.split(delimiter)
for i in xrange(len(text)):
s = text[i]
if s in colString:
text[i] = "'%s'" %s
return delimiter.join(text)
# pak
print sconv("1 a c", (0,))
Mozna to neni na jeden radek, ale nemusi se to priste upravovat pri
zmene pocti spoupcu nebo zmene delimiteru. Akorat to nebude fungovat,
kdyz v polich bude obsazen tabulator.
Mirek N.
MJM> Vymyslel sem todle, lae není to asi příliš elegantní
MJM> print
MJM> re.sub(r"([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)","'\g<1>'\t'\g<2>'\t\g<3>\t\g<4>\t'\g<5>'",
MJM> "A 1n2 2 3 b5n2")
MJM> Je.
MJM> -----Original Message-----
MJM> From: python-bounces na py.cz [mailto:python-bounces na py.cz] On Behalf Of MICHÁLEK Jan Mgr.
MJM> Sent: Friday, January 15, 2010 7:10 AM
MJM> To: Konference PyCZ
MJM> Subject: Re: [python]JA k bysem udělal následující věc pomocí regulárních výrazů
MJM> Abych lepší specifikoval dotaz, řekněme, že bysem měl tab
MJM> delimited tabulku, kde sou čísla a alfanumerické řetězce. A
MJM> potřeboval bych zauvozovkovat všechno, co obsahuje něco jinýho
MJM> než čísla.
MJM> Příklad:
MJM> A 1n2 2 3 b5n2
MJM> A chci:
MJM> 'A' '1n2' 2 3 'b5n2'
MJM> A nejlíp kdyby šlo zadat, aby sem zauvozvoval konkrétbní
MJM> sloupce, tj, udělat, abysem zauvozovkoval natvrdo 1,2 a 5
MJM> sloupec??
MJM> Díky
MJM> Je.
MJM> -----Original Message-----
MJM> From: python-bounces na py.cz [mailto:python-bounces na py.cz] On Behalf Of MICHÁLEK Jan Mgr.
MJM> Sent: Friday, January 15, 2010 7:03 AM
MJM> To: Konference PyCZ
MJM> Subject: Re: [python]JA k bysem udělal následující věc pomocí regulárních výrazů
MJM> Ještě bych se rád optal, jak udělat, aby to bralo jen ty
MJM> písmenka, před kterejma a za kterejma je \t. Dík
MJM> -----Original Message-----
MJM> From: python-bounces na py.cz [mailto:python-bounces na py.cz] On Behalf Of Petr Hlávka
MJM> Sent: Thursday, January 14, 2010 12:24 PM
MJM> To: Konference PyCZ
MJM> Subject: Re: [python]JA k bysem udělal následující věc pomocí regulárních výrazů
MJM> Dobrý den,
MJM> mělo by to jít udělat snadno s pomocí "group reference"
MJM> re.sub(r"([a-z])", r"'\1'", table)
MJM> (table je retezec obsahujici tabulku)
MJM> S pozdravem Petr Hlávka.
MJM> 2010/1/14 MICHÁLEK Jan Mgr. <Michalek.Jan na uhul.cz>:
>> Mam tab delimited tabulku kde jsou čísla a písmenka a potřebuju dát
>> všechny písmenka '[a-z]' do jednoduchejch uvozovek.
>> Takhle to vypadá
>> 1 a c
>> 2 d s
>> --
>> a takhle to chci
>>
>> 1 'a' 'c'
>> 2 'd' 's'
>>
>> je na to nějaká finta??
>> Dík
>> Je.
>>
>>
>>
>> Mgr Jan Michálek
>>
>> oddělení GIS
>>
>> útvar ISaT
>>
>> ÚHÚL Brandýs nad Labem
>>
>> tel.: +420 322 319 886
>>
>> email: mailto:michalek.jan na uhul.cz
>>
>> url: http://www.uhul.cz/
>>
>>
>>
>> __________ Informace od ESET NOD32 Antivirus, verze databaze 4769
>> (20100113) __________
>>
>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>
>> http://www.eset.cz
>>
>> _______________________________________________
>> Python mailing list
>> Python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
MJM> _______________________________________________
MJM> Python mailing list
MJM> Python na py.cz
MJM> http://www.py.cz/mailman/listinfo/python
MJM> __________ Informace od ESET NOD32 Antivirus, verze
MJM> databaze 4769 (20100113) __________
MJM> Tuto zpravu proveril ESET NOD32 Antivirus.
MJM> http://www.eset.cz
MJM> __________ Informace od ESET NOD32 Antivirus, verze
MJM> databaze 4773 (20100114) __________
MJM> Tuto zpravu proveril ESET NOD32 Antivirus.
MJM> http://www.eset.cz
MJM> _______________________________________________
MJM> Python mailing list
MJM> Python na py.cz
MJM> http://www.py.cz/mailman/listinfo/python
MJM> __________ Informace od ESET NOD32 Antivirus, verze
MJM> databaze 4773 (20100114) __________
MJM> Tuto zpravu proveril ESET NOD32 Antivirus.
MJM> http://www.eset.cz
MJM> __________ Informace od ESET NOD32 Antivirus, verze
MJM> databaze 4773 (20100114) __________
MJM> Tuto zpravu proveril ESET NOD32 Antivirus.
MJM> http://www.eset.cz
MJM> _______________________________________________
MJM> Python mailing list
MJM> Python na py.cz
MJM> http://www.py.cz/mailman/listinfo/python
MJM> __________ Informace od ESET NOD32 Antivirus, verze
MJM> databaze 4773 (20100114) __________
MJM> Tuto zpravu proveril ESET NOD32 Antivirus.
MJM> http://www.eset.cz
MJM> __________ Informace od ESET NOD32 Antivirus, verze
MJM> databaze 4773 (20100114) __________
MJM> Tuto zpravu proveril ESET NOD32 Antivirus.
MJM> http://www.eset.cz
MJM> _______________________________________________
MJM> Python mailing list
MJM> Python na py.cz
MJM> http://www.py.cz/mailman/listinfo/python
Další informace o konferenci Python