【发布时间】:2015-10-18 04:44:14
【问题描述】:
我有一个文本文件是 ';'分开。没有标题。和“列”不一样。看起来像这样
"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"
}
我得到了一个错误 import-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
我的目标是遍历文件并获取某些字段的值并将它们相加。如果我不能使用 import-csv 那么最好的解决方法是什么?
提前致谢。
【问题讨论】:
-
在您的示例中,每行似乎都有不同数量的字段。例如,第一行有 8 个字段,第二行有 12 个字段。第 1 行中的字段是否与第 2 行显示的前 8 个字段相同?第 2 行中的字段是否与第 3 行中的前 12 个(共 14 个)相同?我们可以简单地在这些行的末尾添加空白字段并让所有内容都正确排列吗?
标签: csv powershell