ragfica.pages.dev

Como criar um script para gerar arquivo CSV a partir da saída de comando?

Transformar a saída de um comando em um arquivo CSV pode parecer uma tarefa complexa, mas com a abordagem correta, você pode automatizar esse processo de forma rápida e confiável. Este método é especialmente útil para exportar dados de logs, relatórios ou qualquer saída de terminal para análise posterior em planilhas.

Pré-requisitos

Passo 1: Criar o script Python

O primeiro passo é escrever um script Python que capture a saída de um comando e a escreva em um arquivo CSV. O módulo csv do Python facilita a formatação dos dados.

import subprocess
import csv

# Definir o comando a ser executado
command = "ls -la"

# Executar o comando e capturar a saída
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = process.communicate()

# Converter a saída para string
output = stdout.decode('utf-8')

# Separar as linhas
lines = output.split('\n')

# Escrever no arquivo CSV
with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    for line in lines:
        if line.strip():  # Ignorar linhas vazias
            writer.writerow([line])

Passo 2: Executar o script

Com o script criado, execute-o no terminal. O comando ls -la é apenas um exemplo; você pode substituir por qualquer comando que deseja exportar.

python3 script.py

Passo 3: Verificar o arquivo CSV gerado

Após a execução, um arquivo output.csv será criado no mesmo diretório. Abra-o em um editor de planilhas para verificar se os dados foram exportados corretamente.

Exemplo Prático

Veja abaixo um exemplo de como a saída do comando ls -la é transformada em CSV:

Saída do Comando Conteúdo do CSV
total 16 total 16
drwxr-xr-x 2 user user 4096 Mar 10 10:00 . drwxr-xr-x 2 user user 4096 Mar 10 10:00 .
-rw-r--r-- 1 user user 120 Mar 10 10:01 script.py -rw-r--r-- 1 user user 120 Mar 10 10:01 script.py

Conclusão

Com este método, você automatiza a tarefa de exportar a saída de comandos para CSV em segundos, evitando erros manuais e facilitando a análise de dados em planilhas.