Fluxo descomprimir arquivo para leitura no Windows de forma transparente


1

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!


1
Isso foi perguntado sobre StackOverflow stackoverflow.com/questions/37561465/…
AtomicFireball

@ AtomicFireball Obrigado! Mas como eu uso esse código do PowerShell para ler o csv de um programa que só sabe ler arquivos csv?
s_a

A resposta mostra como extrair um único arquivo. Você poderia fazer isso em um diretório temporário e usá-lo Import-CSVpara 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-Archivetambém está disponível no PowerShell 5.
AtomicFireball
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.