Eu tenho uma coleção de arquivos compactados, muito grandes .csv dos quais eu preciso extrair um pequeno subconjunto do conteúdo. Não vamos nos concentrar em possíveis soluções práticas, mas sim na seguinte questão teórica :
Existe alguma maneira de ler de forma transparente o conteúdo de um arquivo compactado no Windows? O objetivo é ler um arquivo .zip (ou outro formato) como se fosse um arquivo .csv, de um programa que só saiba como lidar com arquivos .csv.
No Linux você pode criar um script bash que desencadeia uma descompressão e envia para um pipe nomeado na leitura. No Windows, acho que você pode criar um com APIs do sistema operacional, mas gostaria de saber se há uma maneira mais fácil. Além disso, não sei como você o leu de outro programa que só sabe ler arquivos.
Obrigado!
fonte
Import-CSV
para ler o arquivo no PowerShell. Você também pode usar a propriedade de entradas de [System.IO.Compression] para obter uma lista dos nomes e procurar por arquivos CSV antes de extraí-los.Expand-Archive
também está disponível no PowerShell 5.