2016-04-14 26 views
0

Pdf'de bir liste okuyan ve listeyi bir .csv dosyasına dönüştüren bir proje üzerinde çalışıyorum, ancak pdf'yi okuduğumda, metin bir dizeye aktarılır. Ben bir sorunum yok, ama örneğin bir tarih, bulduğumda girişine bir "\n" her zaman var:Bir dizedte DATE nasıl bulunur

gibi dizede:

'HELDER ALVES DE OLIVEIRA18/06/1986RENAN ALVES DE OLIVEIRA06/08/2005' 

istediğim nasıl

'HELDER ALVES DE MEDEIROS;18/06/1986\NRENAN ALVES DE OLIVEIRA;06/08/2005\N' 

Yani dosyayı açtığımda .csv b e tablolanmış.

+0

eğer bu https://docs.python.org/2/library/re.html – trans1st0r

cevap

3

Sen regular expressions ile yapabilirsiniz: Jules Mazur önceki cevabı yorumunda üzerinde belirttiği gibi

>>> import re 
>>> s = 'HELDER ALVES DE OLIVEIRA18/06/1986RENAN ALVES DE OLIVEIRA06/08/2005' 
>>> re.sub('(\d\d\/\d\d/\d\d\d\d)', '\\1\n',s) 
'HELDER ALVES DE OLIVEIRA18/06/1986\nRENAN ALVES DE OLIVEIRA06/08/2005\n' 
+0

durumda da çalışır düzenli ifadeler kullanmayı deneyin regex kitaplığında, daha ilerleme kaydedilmesi tarih ve saat için re desenleri bulabilirsiniz Girişin hata içermemesi bekleniyor, bunun 56/36/2005' gibi geçersiz tarihlerle eşleşeceğine dikkat çekiyor. – Jules

+0

Her zaman girişte varsayım yapmak zorundasınız. İsim geçerli bir tarih içeriyorsa (örn. HELDER ALVES 01/01/2001 DE OLIVEIRA)? Neyse haklısın. Bazı durumlarda bu beklendiği gibi çalışmayacaktır. – Francesco

0

Sana ayarlamak gerektiğini, daha iyi kullanılmasına re modülün güçlülüğü koymak gerektiğini düşünüyorum

>>> s 
'HELDER ALVES DE OLIVEIRA18/06/1986RENAN ALVES DE OLIVEIRA06/08/2005' 
>>> 
>>> re.findall(r'((?:[1-2][0-9]|0[1-9]|3[0-1])/(?:0[0-9]|1[0-2])/(?:[1-2][0-9][0-9][0-9]))', s) 
['18/06/1986', '06/08/2005'] 
>>> 
>>> re.sub(r'(?P<Date>(?:[1-2][0-9]|0[1-9]|3[0-1])/(?:0[0-9]|1[0-2])/(?:[1-2][0-9][0-9][0-9]))', '\g<Date>\n', s) 
'HELDER ALVES DE OLIVEIRA18/06/1986\nRENAN ALVES DE OLIVEIRA06/08/2005\n' 

Bu regex demo bunun detaylı açıklamasını kontrol edebilirsiniz: geçersiz tarihleri ​​filtreleme çeşit, burada bunun bir örneğidir. Ayrıca,

İlgili konular