2016-08-25 14 views
0

私は次のCSVファイルの例持って、コンテンツを取得および/またはConvertFrom-CSV問題

000001、A、B、C、、、
000002、D、E、F、、、グラム
000003、G、H、I、、、J
000004、K、L、M、、、N

Iは、以下の私のコードの抜粋を有する:

 Get-Content $Source | 
     ConvertFrom-Csv | 
       %{ $header = $false } { 
         $cv = $null; 
         $ColValue = $_.PSObject.Properties.Value | %{ if ($_) { $_.trim() } else { '' } } 
         if ($ExtractColumns -ne $null -and $ExtractColumns -ne "") 
         { 
          ForEach ($ExtractColItem in $ExtractColumns) { 
           ForEach ($ColValueItem in $ColValue) { 
            if ($ExtractColItem -eq $ColValue.IndexOf($ColValueItem)) 
            { 
             { 

コードは、私がサンプリングしたものに似たCSVファイルを見つけるまで完全に機能しました。 1行目には4つの値の項目が含まれています(列5,6,7は空白です)$ _ PSObject.Properties.Value表現は列4の終わりに達します。ファイル内の残りの行も読み取られます列4の代わりに7まで。

私に何かが不足していますか?どうすれば修正できますか?

+0

これは、csvに無効なファイルであるすべての列を含むヘッダー行がない場合にのみ発生する可能性があります。 – wOxxOm

+0

お返事ありがとうございます。想像上の列ヘッダー名を付けることで修正する予定です。私はthaereがそれを行の最後まで読むように強制する何らかのパラメータであると考えました。 –

+0

ConvertFrom-Csv [-InputObject] [[-Delimiter] ] ** [ - ヘッダー] ** [] – Eris

答えて

0

解決:コメントからErisのヘルプを使用します。コメントは次のとおりです:

ConvertFrom-Csv [-InputObject] <PSObject[]> [[-Delimiter] <Char> ] [-Header <String[]> ] [ <CommonParameters>] 

ありがとうございます。スタックオーバーフローコミュニティが私を助けてくれました。以前より頻繁に使用する必要があります:-)

関連する問題