Buenas tardes comunidad,
Solicito su ayuda, debido a que necesito extraer la identificación de los clientes que esta dentro de un conjunto de datos adicionales como se muestra en el siguiente ejemplo:
celda 1 ejemplo:
no,acceptcredifamilia,no entiendo los documentos,documentproblems,tengo dificultades con los documentos,documentstatus,no,hascredit,no,hashousing,sa,hassavings,no,hassubsidy,1900000,householdincome,30000000,housingsubsidy,1013591040,identification,ca©dula de ciudadanaa,identificationtype,duea±o de negocio,laboralactivity,soltero/a,maritalstate,18170520,micasayasubsidy,2000000,monthlyincome,daniel quintero,name,independiente,occupation,0,othersavings,107257776,potentialcredit,5000000,severancesavings,05,startedactivitymonth,2018,startedactivityyear,sa,wantpersonalityroute,solo,withrelatives,si,creditcounseling
celda 2 ejemplo:
1117000,householdincome,1127946335,identification,ca©dula de ciudadanaa,identificationtype
Todos esos datos vienen en una sola celda y no todas las celdas contienen la misma cantidad de datos, por lo que necesito extraer el numero anterior a la palabra identification.
Agradezco su ayuda y de antemano muchas gracias
Saludos
¡Resuelto! Ir a solución.
Hola @And_avella96
Creo que con un REGEX configurado de esta forma te puede funcionar:
(\d{0,10}),identification,
En Output Method=Parse
Estoy asumiendo que siempre son números, que pueden tener una longitud entre 0 y 10 dígitos y que siempre hay un ,identification, a continuación.
Si esto varía, habría que variar la expresión regular.
Se puede agregar un parámetro para que tome los datos que estén antes de una (coma) (,)?
No te estoy entendiendo a qué te refieres, me puedes contar más?
Hola!!
quiero decir que si quiero traer datos hasta la coma (,) anterior a identification como en el ejemplo acontinuacion:
formstatus,sa,hascredit,no,hashousing,sa,hassavings,no,hassubsidy,1800000,householdincome,30000000,housingsubsidy,1070607909,identification,ca©dula de ciudadanaa,identificationtype,11,joinedcompanymonth,2020,joinedcompanyyear,ta©rmino indefinido,laboralcontracted,soltero/a,maritalstate,18170520,micasayasubsidy,1800000,monthlyincome,fna,namefinancialentity,empleado,occupation,3000000,othersavings,61555000,potentialcredit,3029000,severancesavings,sa,wantpersonalityroute,no,wanttoseemoreprojects,no,wanttostartasaving,solo,withrelatives,sa,youalreadychoseproject,sa,youcouldgetthatvalue
Adicional tambien queria agregar a la respuesta, como puedo hacer parar traer varios datos, trate de hacer una expresion pero no me trae ninguno de los datos:
(\d{0,9}),householdIncome\s(\w{0,35}),identificationType\s(\d{0,10}),identification\s(\w{0,2}),hasHousing\s(\w{0,11}),maritalState\s(\w{0,30}),occupation
Esto con el fin de crear columnas diferentes con cada uno de los datos que tiene esa celda.
Quedo atento
Saludos
Para este caso, yo lo que haría es utilizar un Text To column, usando ","como separador, y configurando "Split to Rows"
De esta forma, vas a poder tomar decisiones más fácil de qué conservar y qué no.
El problema que tengo en utilizar texto en columnas es que no todas las celdas traen los mismos datos ni con el mismo orden, con Regex no se puede?
estuve viendo un ejemplo, en donde separaban de un campo en una misma expresión y quiero hacer esto mismo, debido a que hay celdas que vienen mas completas con información y algunas otras con solo la identificacion.
Si se puede, si en realidad los registros son tan "variados" lo mejor es utilizar ReGEx
Lo que hay que hacer es construir la expresión de modo que te permita ir extrayendo lo que necesitas.
Para armar las expresiones, tal vez te conviene utilizar https://regex101.com/
Incluso, tal vez no intentar hacer todas las extracciones de una vez, sino ir "atancando" grupos de información a través de utilizar mútliples herramientas ReGEx.
Muchisimas Gracias por la solución fue muy útil!!!!