PowerShell:
Робота з CSV

Як:

Читання файлу CSV

Для читання з файлу CSV використовуйте командлет Import-Csv. Цей командлет читає файл і конвертує його у спеціальні об’єкти PowerShell для кожного рядка.

# Імпортування файлу CSV
$data = Import-Csv -Path "C:\Data\users.csv"
# Відображення вмісту
$data

Приклад виводу:

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

Запис у файл CSV

Навпаки, для запису даних у файл CSV використовується командлет Export-Csv. Цей командлет бере вхідні об’єкти і конвертує їх у формат CSV.

# Створення об’єкта для експорту
$users = @(
    [PSCustomObject]@{Name='John'; Age='23'; City='New York'},
    [PSCustomObject]@{Name='Doe'; Age='29'; City='Los Angeles'}
)

# Експорт у файл CSV
$users | Export-Csv -Path "C:\Data\new_users.csv" -NoTypeInformation

Після виконання створюється файл new_users.csv з наданими даними.

Фільтрація і маніпуляція вмістом CSV

Для фільтрації або маніпуляції даними з файлу CSV використовуйте можливості маніпулювання об’єктами PowerShell. Наприклад, для вибору лише користувачів старших за певний вік і з конкретного міста:

# Імпортування і фільтрація даних
$filteredData = Import-Csv -Path "C:\Data\users.csv" | Where-Object {
    $_.Age -gt 25 -and $_.City -eq 'Los Angeles'
}

# Відображення відфільтрованих даних
$filteredData

Приклад виводу:

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

Використання сторонніх бібліотек

Хоча рідні командлети PowerShell зазвичай достатні для виконання звичайних завдань, більш складні операції можуть виграти від використання сторонніх бібліотек або інструментів. Однак, для стандартної маніпуляції CSV, такої як читання, запис, фільтрація або сортування, зазвичай вбудовані командлети PowerShell, такі як Import-Csv і Export-Csv, пропонують надійний функціонал без потреби в додаткових бібліотеках.