如何导入可变记录长度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个)字段相同?我们可以简单地在这些行的末尾添加空白字段,并将所有内容正确对齐吗?谢谢。非常有用。感谢:)