Olá sanjali07 Obrigado pelo seu código, está funcionando perfeitamente.
Tive outro erro, mas foi meu erro, já resolvi.
Você é incrível!
Saudações,
Alejandro
Avalados por :
Olá 7a519509aed84a2c9e6f627841825b5a , t.vanrooijen e especialistas,
Estou com um problema semelhante ao editar arquivos planos.
Preciso que a saída seja separada por vírgulas.
Isto é o que tenho agora:
"31008994"KioskAccess No
"31010868"KioskAccess No
"31010877"KioskAccess No
"31007038"KioskAccess No
"31009159"KioskAccess No
"31009182"KioskAccess No
E isto é o que preciso:
"31008994",KioskAccess,No
"31010868",KioskAccess,No Override
"31010877",KioskAccess,No
"31007038",KioskAccess,Yes Override
"31009159",KioskAccess,No
"31009182",KioskAccess,Yes
Este é meu input, (reduzido para caber aqui e executar mais rápido):
"31019260",1,OYES
"13014109",1,OYES
"31018709",1,OYES
"50000363",1,OYES
"50000124",1,OYES
"12701608",2,No
"12701636",2,Yes
"12701636",2,Yes
"12703144",2,No
"12703933",2,No
"11601173",2,No
"11601177",2,Yes
"11601184",2,Yes
"11601185",2,Yes
"31008994",3,No
"31010868",3,No
"31010877",3,No
"31007038",3,No
"31010890",3,No
"31004730",3,No
"31010945",3,No
"31004758",3,No
"31004774",3,No
"31004784",3,No
"31004880",3,No
No script groovy, obtenho esses dados e são processados, os números 1, 2 e 3 são usados para diferenciar de onde os dados vêm.
Para cada registro, fiz isso:
Job.each{ TODO O CÓDIGO
// Antes de anexar a variável textFinal contém meus dados
Pedro Pascal
Se unió el 07/03/2018
Olá sanjali07 Obrigado pelo seu código, está funcionando perfeitamente.
Tive outro erro, mas foi meu erro, já resolvi.
Você é incrível!
Saudações,
Alejandro
Olá Alex,
Obrigado por compartilhar o script completo.
Você pode tentar isso para todos os cenários possíveis e ver se funciona, em vez de dividir ainda mais o textFinal para o preenchimento que não acredito que você precise, de acordo com a sua saída esperada e dado que você está preparando todas as linhas com vírgulas, a próxima linha deve ser suficiente,
sb.append(textFinal+"\n")
Groovy atualizado anexado como arquivo de texto. processfile.txt
Cumprimentos
Sanjali
processfile.txtOlá 7a519509aed84a2c9e6f627841825b5a ,
Minha entrada é um grande conjunto de dados com 3 códigos, 1, 2 e 3.
Divido essa grande entrada em 3 tabelas, uma tabela por código.
Em seguida, para cada elemento no código 1, se disser SIM, adiciono esse registro à tabela de saída.
Se disser não, então tenho que procurar a chave na segunda tabela (código 2) se disser SIM, adiciono esse registro à tabela de saída.
Se disser Não, repito com a tabela 3. Se disser SIM, adiciono SIM. Se disser não, adiciono NÃO.
Tenho a saída pronta, com a exceção de que posso tê-la separada por vírgulas.
Por exemplo:
"50000124",1,No
"50000124",2,No
"50000124",3,Yes
"12701636",1,Yes
"12701636",2,No
"12701636",3,No
"11601173",1,No
"11601173",2,Yes
"11601173",3,Yes
Deveria produzir:
Código 1 = no, código 2 = no, código 3 = SIM ==> Saída SIM"50000124",KioskAccess,SIMCódigo 1 = SIM ==> Sem necessidade de verificar outros códigos.
"12701636",KioskAccess,SIMCódigo 1 = Não, código 2 = SIM ==> Sem necessidade de verificar código 3."11601173",KioskAccess,SIMSaída necessária em formato csv:"50000124",KioskAccess,SIM"12701636",KioskAccess,SIM"11601173",KioskAccess,SIM
Graças ao código que você forneceu como exemplo há algum tempo, consegui fazer isso:
"50000124"KioskAccess No
"31010868"KioskAccess No
"11601173"KioskAccess No
Mas preciso disso separado por vírgulas.
Devido à minha experiência limitada com CPI e Groovy, este pode não ser a melhor abordagem, mas é o que consegui fazer, e agora, infelizmente, estou ficando sem tempo.
textFinal.splitEachLine(',') { fields ->
fields.eachWithIndex() { field, index ->
sb.append(field.padLeft(columnWidths[index]))
}
sb.append(
Olá Alejandro. Esqueça o código por agora. Em vez disso, por favor, explique detalhadamente como uma linha de entrada deve ser traduzida em uma linha de saída. Isso não está claro de modo algum em sua pergunta. Saudações, Morten
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute