如何导入可变记录长度csv文件powershell

如何导入可变记录长度csv文件powershell,csv,powershell,Csv,Powershell,我有一个文本文件是“;”分开。没有标题。和“列”不一样。看起来像这样 "TH01";"201";"1";"KA";"1";"1";"14.07.2015"; "TH02";"000800";"1";"Verkkomyynti";"Verkkomyynti";"Rudus Oy";"PL 49";"00441";"HELSINKI";"";""; "TH03";"000800";"XXX";"RUSKATIE 25";"10104307 JORMA KOSKINEN";"";"";"";"";""

我有一个文本文件是“;”分开。没有标题。和“列”不一样。看起来像这样

"TH01";"201";"1";"KA";"1";"1";"14.07.2015";
"TH02";"000800";"1";"Verkkomyynti";"Verkkomyynti";"Rudus Oy";"PL 49";"00441";"HELSINKI";"";"";
"TH03";"000800";"XXX";"RUSKATIE 25";"10104307 JORMA KOSKINEN";"";"";"";"";"";"";"";"36KM";
我尝试使用导入此文件

$filecvs = import-Csv -Path "C:\test.txt" -Delimiter ';' 
foreach($row in $filecvs)
{  
   $field1 = $row.field1  
   $field2 = $row.field2   
   Echo "$field1, $field2" 
}
我犯了个错误 导入Csv:成员“1”已存在

At line:1 char:12
+ $filecvs = import-Csv -Path "C:\test.txt...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Import-Csv], ExtendedTypeSystemException
    + FullyQualifiedErrorId : AlreadyPresentPSMemberInfoInternalCollectionAdd,Microsoft.PowerShell.Commands.ImportCsvCommand
我的目标是循环遍历文件,获得某些字段的值并将它们相加。如果我不能使用导入csv,那么最好的解决方法是什么


提前谢谢

导入CSV要求第一行是标题行,定义字段的名称。它抛出错误“成员“1”已存在”,因为您在第一行中有两次值“1”,并且它不能用相同的名称命名两个属性(字段)

您只需添加-Header参数来导入Csv,使其将Csv文件中的所有数据解析为数据

例如:

$filecvs = import-Csv -Path "C:\test.txt" -Delimiter ';' -Header Field1,Field2,Field3,Field4,Field5...

在您的示例中,似乎每行都有不同数量的字段。例如,第一行有8个字段,第二行有12个字段。第1行中的字段是否与第2行中显示的前8个字段相同?第2行中的字段是否与第3行中的前12个(共14个)字段相同?我们可以简单地在这些行的末尾添加空白字段,并将所有内容正确对齐吗?谢谢。非常有用。感谢:)