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
.