1
1

More than 5 years have passed since last update.

PowerShell で CSV の列数が定義と合っているか確認したメモ

Posted at

ブログからの転載

サンプル CSV データの仕様

  • CSV の列定義は「名前,生年月日,血液型,ニックネーム」とする
  • 1 行目は列数が定義通り、2 行目は列数が定義より少ない、3 行目は列数が定義より多い
Aさん,1974/01/07,A,Aちゃん
Bさん,1984/10/13,B
Cさん,1985/05/05,A,Cちゃん,コスプレ

コードと説明

$csv = @"
Aさん,1974/01/07,A,Aちゃん
Bさん,1984/10/13,B
Cさん,1985/05/05,A,Cちゃん,コスプレ
"@

$csv | ConvertFrom-Csv -Header "Name","Birthday","BloodType","NickName","Dummy" | %{
    if ($_.NickName -eq $null) {
        Write-Host ("{0} は列数が少ない" -f $_.Name)
    } elseif ($_.Dummy -ne $null) {
        Write-Host ("{0} は列数が多い" -f $_.Name)
    } else {
        Write-Host ("{0} の列数はちょうどいい感じ" -f $_.Name)
    }
}

実行結果

Aさん の列数はちょうどいい感じ
Bさん は列数が少ない
Cさん は列数が多い

規定の列のあとに Dummy という列を追加して、次のように判定している

  • Dummy$null ではない時、定義より列数が多い
  • NickName$null の時、定義より列数が少ない
1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1