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.
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])
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
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.
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 |
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.