from datetime import datetime
lista = ['0004434-48.2010',
'UNIÃO',
'(30 dias úteis) 03/07/2017',
'13/07/2017',
'0008767-77.2013',
'2017',
'(10 dias úteis) 03/07/2017',
'13/07/2017']
for s in lista:
try:
print('É data: ', datetime.strptime(s, '%d/%m/%Y'))
except:
try:
print ('É numero, convertido para inteiro ',int(s))
except:
print('É string: ', s )
Output:
É string: 0004434-48.2010
É string: UNIÃO
É string: (30 dias úteis) 03/07/2017
É data: 2017-07-13 00:00:00
É string: 0008767-77.2013
É numero, convertido para inteiro 2017
É string: (10 dias úteis) 03/07/2017
É data: 2017-07-13 00:00:00
Alternative:
## Versão 2
print ('#########################')
for s1 in lista:
for s in s1.split():
try:
print('É data: ', datetime.strptime(s, '%d/%m/%Y'))
except:
try:
print ('É numero, convertido para inteiro ',int(s))
except:
print('É string: ', s )
Output:
#########################
É string: 0004434-48.2010
É string: UNIÃO
É string: (30
É string: dias
É string: úteis)
É data: 2017-07-03 00:00:00
É data: 2017-07-13 00:00:00
É string: 0008767-77.2013
É numero, convertido para inteiro 2017
É string: (10
É string: dias
É string: úteis)
É data: 2017-07-03 00:00:00
É data: 2017-07-13 00:00:00
Run the code in repl.it.
What would be the number format? None there apparently is a number.
– Woss
As it is string I believe that you can do gande part of what you want with regex and split
– user48471
Here
'UNIÃO, '(10 dias úteis) 03/07/2017'
looks to me like there’s a'
missing. Better confirm– Isac
I appreciate all your help! My problem is that the date I’m going to use is along with this phrase "union, (10 working days)", so I couldn’t use exactly the suggested suggestion, but I decided to deal with "2017 in string".
– Bergo de Almeida