PowerShell İçe Aktarma-CSV | PowerShell Import-CSV örnekleri
PowerShell Import-CSV'ye Giriş
Import-csv cmdlet'i, virgülle ayrılmış bir dosyada bulunan bilgileri getirmek ve tablo benzeri bir yapı oluşturmak için kullanılır. Veriler içe aktarıldıktan sonra, csv içeriğini satır bazında yinelemek için foreach cmdlet'i kullanılır. Dosyanın tüm içeriğini içe aktarmak gerekli değildir; filtre koşullarını uygulayıp yalnızca gerekli değerleri getirmek mümkündür. Bu makalede, bir csv'nin powershell'e nasıl aktarılacağı, bir csv dosyasının nasıl sıralanacağı ve filtreleneceği ve bunun elde edilebileceği farklı yollar ayrıntılı olarak ele alınacaktır.
Sözdizimi ve Parametreler
powershell import-csv'nin sözdizimi ve parametreleri aşağıda verilmiştir:
Sözdizimi:
Import-Csv [[-Delimiter] <Char>] [-Path] <String[]> [-Header <String[]>] [-Encoding <Encoding>] [<CommonParameters>]
Import-Csv [[-Delimiter] <Char> -LiteralPath <String[]> [-Header <String[]>] [-Encoding <Encoding>] [<CommonParameters>]CSV dosyası içe aktarıldığında, csv dosyasındaki her sütun bir nesne özelliği olarak kabul edilir ve her satır değeri, özelliğin değerlerine karşılık gelir.
Parametreler:
- -Sınırlayıcı: Csv dosyasındaki değerleri ayırmak için kullanılacak işareti veya karakteri belirtir. Bir csv dosyası için sınırlayıcının varsayılan değeri virgüldür (“, ”). İki nokta üst üste (“: ”) veya noktalı virgül (“; ”) gibi diğer değerler de kullanılabilir. Sağlanan sınırlayıcı dosyada bulunan sınırlayıcıyla eşleşmiyorsa değerler içe aktarılmayacak ve karşılık gelen nesneler oluşturulmayacaktır. Bu parametre char veri tipindedir. Bu parametre hem boru hattı girişine hem de joker karakterlere izin vermez.
- -Kodlama: Bu, belirtilen csv dosyası için kullanılacak kodlama aracını belirtir. Bu parametrenin veri türü kodlamadır. Parametre, ardışık düzen girişini tanımıyor ve joker karakterlere izin verilmiyor. Kullanılan varsayılan kodlama türü UTF8NoBOM'dur.
Kabul edilebilir diğer değerler aşağıdaki gibidir:
- Bigendianunicode'lar
- Oem
- utf8BOM
- utf8NoBOM
- utf7
- utf8
- utf32
- ASCII
PowerShell Import-CSV örnekleri
Aşağıda belirtilen örnekler verilmiştir:
Örnek #1
Giriş:
Write-Host "Welcome to the demo of Importing a csv file in PowerShell"
$file= Import-Csv -Path "C:\test.csv"
$i=0
foreach ($f in $file)
{
if ($i -lt 10)
{
Write-Host "base name is:" $f.BaseName
Write-Host "Full name is:" $f.FullName
Write-Host "name is:" $f.Name
Write-Host "Created date is:" $f.CreationTime
Write-Host "Modified date is:" $f.LastAccessTime
Write-Host "Location of the file drive is:" $f.PSDrive
$i+=$i
}
}Çıktı:
Yukarıdaki örnekte, csv dosyası içe aktarılır ve dosya değişkeninde saklanır. Daha sonra csv dosyasının her satırı döngüye alınır. $f, erişilmekte olan csv'nin geçerli satırını ve karşılık gelen $f satır değerlerine erişmeyi belirtir. karşılık gelen başlık veya sütun kullanılır.
Örnek #2
Giriş:
Write-Host "example of reading a csv completely but displaying result based only on the users input"
$studentid= Read-Host "Enter the student roll no to fetch the student details"
Write-Host "Importing the csv file"
$file= Import-Csv -Path "C:\Users\R003646\Desktop\Articles\June\Student.csv"
Write-Host "File is imported successfully"
foreach ($row in $file)
{
if ($row.Sid -contains $studentid)
{
Write-Host "the mentioned student id is valid and his details are as follows" -ForegroundColor Green
Write-Host "Student name is:" $row.Sname
Write-Host "Student age is:" $row.Sage
Write-Host "Student id is:" $row.Sid
Write-Host "Student rank is:" $row.Srank
}
else
{
Write-Host "Enter a valid student id"
break;
}
}Çıktı:
Yukarıdaki örnekte kullanıcı, görmek istediği öğrenci detaylarına göre terfi ettirilmektedir. CSV'de mevcut olan geçerli bir öğrencinin yoklama numarası girilirse ilgili öğrenci ayrıntıları görüntülenir. Girilen öğrenci rulo numarasının csv'de bulunmaması durumunda ikinci çıktı görüntülenir.
Örnek #3
Giriş:
Write-Host "Importing a csv and displaying the list of data in each column"
$file= Import-Csv -Path "C:\Users\R003646\Desktop\Articles\June\Student.csv"
Write-Host "file is imported" -ForegroundColor Green
write-host "The list of student name in the csv are as follows:" -ForegroundColor Green
$file.Sname
write-host "The list of student age in the csv are as follows:" -ForegroundColor Green
$file.Sage
write-host "The list of student marks in the csv are as follows:" -ForegroundColor Green
$file.Smarks
write-host "The list of student id in the csv are as follows:" -ForegroundColor Green
$file.Sid
write-host "The list of ranks in the csv are as follows:" -ForegroundColor Green
$file.SrankÇıktı:
Çözüm
Böylece makale PowerShell'deki import-CSV cmdlet'i hakkında ayrıntılı olarak açıklanmıştır. Çeşitli parametreler, veri türü ve sözdizimi hakkında uygun örneklerle birlikte ayrıntılı olarak açıklanmıştır. Daha ayrıntılı bilgi edinmek için örnek komut dosyaları yazmanız ve bunları uygulamanız önerilir.





