Bash:
Praca z plikami CSV

Jak to zrobić:

Czytanie pliku CSV linia po linii

while IFS=, read -r kolumna1 kolumna2 kolumna3
do
  echo "Kolumna 1: $kolumna1, Kolumna 2: $kolumna2, Kolumna 3: $kolumna3"
done < przykładowy.csv

Przykładowe wyjście:

Kolumna 1: id, Kolumna 2: nazwa, Kolumna 3: email
...

Filtrowanie wierszy CSV na podstawie warunku

Używając awk, możesz łatwo filtrować wiersze. Na przykład, aby znaleźć wiersze, gdzie druga kolumna równa się “Alice”:

awk -F, '$2 == "Alice" { print $0 }' przykładowy.csv

Modyfikacja wartości kolumny

Aby zmienić wartość drugiej kolumny na wielkie litery:

awk -F, 'BEGIN {OFS=",";} { $2 = toupper($2); print $0; }' przykładowy.csv

Sortowanie pliku CSV na podstawie kolumny

Możesz sortować plik CSV na podstawie na przykład trzeciej kolumny (numerycznie):

sort -t, -k3,3n przykładowy.csv

Użycie csvkit do bardziej złożonych zadań

csvkit to zbiór narzędzi wiersza poleceń do konwersji i pracy z plikami CSV. Może być zainstalowany za pomocą pip.

Aby przekonwertować plik JSON na CSV:

in2csv dane.json > dane.csv

Aby zapytać plik CSV przy użyciu SQL:

csvsql --query "SELECT nazwa FROM przykładowy WHERE id = 10" przykładowy.csv

Uwaga: Instalowanie csvkit wymaga Pythona i może być wykonane za pomocą pip install csvkit.