Join the Alteryx Community’s Maveryx Summer Cup event! Compete, network with others, and earn your gold through a series of challenges from July 24th to August 11th. Learn more about the event here.
Free Trial

Fórum

Ler CSV Zipados em um diretório

afprospero
Asteroide

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

afprospero_0-1687184245158.png

 

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

10 RESPOSTAS 10
carlosteixeira
15 - Aurora
15 - Aurora

Fala @afprospero tudo bem meu querido?

 

Olha da uma olhada nesse artigo aqui, acho que ele vai te ajudar.

 

https://community.alteryx.com/t5/Alteryx-Designer-Desktop-Discussions/Reading-Multiple-Files-Of-Your...

 

Se enroscar em algo avisa que a gente tenta te ajudar. Se puder colocar um ZIP aqui de exemplo... 

 

Abraços

 

Carlos A Teixeira
afprospero
Asteroide

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

 

carlosteixeira
15 - Aurora
15 - Aurora

Tenta esse aqui @afprospero 

 

vamos ver o que vai dar, só troca o diretório

 

Abraços

Carlos A Teixeira
afprospero
Asteroide

Oi Carlos.

Ele rodou mas não trouxe os dados do csv especificado. Trouxe a lista dos csv dentro do zip. 

afprospero_0-1687205672479.png

Achei estranho, porque o Directory Input ja fez isso junto com o filtro. 

carlosteixeira
15 - Aurora
15 - Aurora

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

Carlos A Teixeira
afprospero
Asteroide

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.

afprospero_0-1687266281526.png

 

Opa @afprospero tudo bem?

Aqui tem um passo a passo de como você pode fazer para ler, outra macro hahahaha.

 

https://community.alteryx.com/t5/Base-de-conhecimento-Portugues/Desenvolvimento-de-Macro-CS-ler-mult...

 

Qualquer coisa nos avise pf

carlosteixeira
15 - Aurora
15 - Aurora

@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?

 

 

Carlos A Teixeira
afprospero
Asteroide

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. 

afprospero_0-1687270810489.png

Não sei se ficou claro. Mas tentei explicar com o maior nível de detalhes.

Valeu meu amigo.

Rótulos