我有一个文本文件是&#39 ;;'分离。没有标题。 "列"不一样。看起来像这样
"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,那么最好的解决方法是什么?
提前致谢。
答案 0 :(得分:2)
Import-CSV要求第一行是标题行,定义字段的名称。它抛出错误"会员' 1'已经存在"因为你有价值' 1'在第一行中两次,并且它不能命名两个名称相同的属性(字段)。
您只需将-Header参数添加到Import-Csv,以使其将csv文件中的所有数据解析为数据。
示例:
$filecvs = import-Csv -Path "C:\test.txt" -Delimiter ';' -Header Field1,Field2,Field3,Field4,Field5...