PowerShell:
Praca z plikami CSV

Jak to zrobić:

Odczytywanie pliku CSV

Aby odczytać plik CSV, użyj cmdletu Import-Csv. Ten cmdlet odczytuje plik i konwertuje go na niestandardowe obiekty PowerShell dla każdego wiersza.

# Importowanie pliku CSV
$data = Import-Csv -Path "C:\Data\users.csv"
# Wyświetlanie zawartości
$data

Przykładowy wynik:

Name    Age    City
----    ---    ----
John    23     New York
Doe     29     Los Angeles

Zapisywanie do pliku CSV

Odwracając sytuację, aby zapisać dane do pliku CSV, używany jest cmdlet Export-Csv. Ten cmdlet pobiera obiekty wejściowe i konwertuje je na format CSV.

# Tworzenie obiektu do eksportu
$users = @(
    [PSCustomObject]@{Name='John'; Age='23'; City='New York'},
    [PSCustomObject]@{Name='Doe'; Age='29'; City='Los Angeles'}
)

# Eksportowanie do pliku CSV
$users | Export-Csv -Path "C:\Data\new_users.csv" -NoTypeInformation

Po wykonaniu, plik o nazwie new_users.csv zostaje utworzony z podanymi danymi.

Filtrowanie i manipulowanie zawartością CSV

Aby filtrować lub manipulować danymi z pliku CSV, używaj możliwości manipulacji obiektami w PowerShell. Na przykład, aby wybrać tylko użytkowników powyżej pewnego wieku i z określonego miasta:

# Importowanie i filtrowanie danych
$filteredData = Import-Csv -Path "C:\Data\users.csv" | Where-Object {
    $_.Age -gt 25 -and $_.City -eq 'Los Angeles'
}

# Wyświetlanie filtrowanych danych
$filteredData

Przykładowy wynik:

Name    Age    City
----    ---    ----
Doe     29     Los Angeles

Użycie bibliotek firm trzecich

Chociaż natywne cmdlety PowerShell zazwyczaj wystarczają do zadań typowych, bardziej złożone operacje mogą korzystać z bibliotek lub narzędzi firm trzecich. Jednak dla standardowej manipulacji CSV, takiej jak odczyt, zapis, filtrowanie czy sortowanie, wbudowane cmdlety PowerShell, takie jak Import-Csv i Export-Csv, zazwyczaj oferują solidną funkcjonalność bez potrzeby korzystania z dodatkowych bibliotek.