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
, пропонують надійний функціонал без потреби в додаткових бібліотеках.