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