Pessoal, bom dia.
Eu tenho um diretório contendo vários arquivos zip. Dentro desses zip estão vários arquivos csv.
Eu preciso de uma forma de ler os zips, e para cada zip ler os arquivos csvs, que são diferentes um do outro, e acessar os dados destes csvs, como por exemplo:
arq1.zip (arq1.csv, arq2.csv, arq3.csv)
arq2.zip (arq1.csv, arq2.csv, arq3.csv)
Eu preciso ler os 2 zips e os 6 csv trazendo os dados para eu trabalhar, como por exemplo
Tentei utilizar o Directory Input e o InputData mas não to conseguindo.
Alguém pode me dar um help nisso, por favor?
Obrigado
Anderson
Fala @afprospero tudo bem meu querido?
Olha da uma olhada nesse artigo aqui, acho que ele vai te ajudar.
Se enroscar em algo avisa que a gente tenta te ajudar. Se puder colocar um ZIP aqui de exemplo...
Abraços
Fala @carlosteixeira , blz meu jovem.
Vi o artigo e baixei os fluxos para testar aqui. Troquei pelo meus diretórios para rodar e não deu certo. Deu erro dizendo que não encontra o arquivo utilizado no teste. Ja troquei noinput data e não vai nem com reza. Não sei se pode ser por causa que não sou adm e o diretório que estou apontando é de rede. Enfim. Só um adendo.... eu preciso tratar o nome dos arquivos que estão no zip, retirando os 3 primeiros caracteres, para ficar somente o nome. Isso é simples, mas achei bom comentar para saber que a solução eu vou precisar tratar o nome do arquivo.
To anexando 2 zips para você, conforme pediu. Se puder me dar uma luz nisso, agradeço muito, novamente. rsrs
Oi Carlos.
Ele rodou mas não trouxe os dados do csv especificado. Trouxe a lista dos csv dentro do zip.
Achei estranho, porque o Directory Input ja fez isso junto com o filtro.
O directory vai ler os 2 zips, a macro vai ler cada um dos zips (está filtrado só 1) e trazer para você as listas dos csv's que estão no ZIP.
A partir daí é vc ler os arquivos CSV que vc precisa. Ja vem o com FULL PATH pra vc ler ele dinamicamente.
é isso que vc precisa, ou to muito fora?
Abraços
Opa Carlos. Isso mesmo. Agora vou te fazer uma pergunta bem basica, não me julgue, rsrs.
Como eu faço pra ler os dados de cada csv, com a saida dessa macro? Eu só conheço o input através de Input Data. Eu não sei como fazer algo dinamico pra ele ler conforme a saida da macro, isso se for desta forma.
Valeu pela ajuda, como sempre me salvando.
Opa @afprospero tudo bem?
Aqui tem um passo a passo de como você pode fazer para ler, outra macro hahahaha.
Qualquer coisa nos avise pf
@afprospero Fica tranquilo meu caro... aqui estamos para ajudar....
Vc quer ler eles de forma separada e gravar em algum lugar? Eu acho que eles nao tem o mesmo formato (layout) e não poderiamos ler eles todos e incluir no mesmo layout.
Como vc pensa em usar esses CSV's uma vez que eles nao tem a mesma estrutura?
Opa @carlosteixeira . Valeu meu amigo.
Eu gostaria de tratar cada csv num fluxo separado e depois de tratá-los, eu posso juntar eles, ou não. Ainda vou decidir isso.
Hoje estou lidando com o csv "04-TaxasAcumuladas", mas futuramente vou lidar com os demais.
Eu imaginei que poderia ler os zips, ler os arquivos, e para cada arquivo como por exemplo o "04-TaxasAcumuladas", que é igual pra todos os zips, eu trato eles num mesmo fluxo.
Aqui eu tenho 3 zips, mas vou ter mais zips no futuro. os reports são 6 tipos diferentes, mas o número deles não é padrão. O nome dele é ("TaxasAcumuladas", por exemplo). No zip 1 ele tem o número "04-", ja no zip 2 ele tem o número "02-".
Ai quando eu for tratar os demais arquivo eu só replico a solução e filtro o que eu vou tratar.
Veja abaixo que o mesmo arquivo está nos 3 zips. Em 2 tem o nome idêntico (04-TaxasAcumuladas) e no outro não.(02-TaxasAcumuladas). Então eu preciso tratar os nome, retirando o "04-" , "02-", etc.
Não sei se ficou claro. Mas tentei explicar com o maior nível de detalhes.
Valeu meu amigo.