Bash:
Trabalhando com CSV
Como fazer:
Lendo um Arquivo CSV Linha por Linha
while IFS=, read -r coluna1 coluna2 coluna3
do
echo "Coluna 1: $coluna1, Coluna 2: $coluna2, Coluna 3: $coluna3"
done < exemplo.csvSaída de exemplo:
Coluna 1: id, Coluna 2: nome, Coluna 3: email
...Filtrando Linhas do CSV com Base em uma Condição
Usando awk, você pode facilmente filtrar linhas. Por exemplo, para encontrar linhas onde a segunda coluna é igual a “Alice”:
awk -F, '$2 == "Alice" { print $0 }' exemplo.csvModificando o Valor de uma Coluna
Para alterar a segunda coluna para maiúsculas:
awk -F, 'BEGIN {OFS=",";} { $2 = toupper($2); print $0; }' exemplo.csvOrdenando um Arquivo CSV Baseado em uma Coluna
Você pode ordenar um arquivo CSV baseado, digamos, na terceira coluna (numericamente):
sort -t, -k3,3n exemplo.csvUsando csvkit para Tarefas Mais Complexas
csvkit é um conjunto de ferramentas de linha de comando para converter para e trabalhar com CSV. Pode ser instalado via pip.
Para converter um arquivo JSON para CSV:
in2csv data.json > data.csvPara consultar um arquivo CSV usando SQL:
csvsql --query "SELECT name FROM sample WHERE id = 10" exemplo.csvNota: A instalação do csvkit requer Python e pode ser feita usando pip install csvkit.