【发布时间】:2016-10-07 23:53:55
【问题描述】:
我在一个文件夹中有一组 CSV 文件。我想将文件转换成 TSV 文件格式。我想用Powershell 做同样的事情。
我尝试使用以下脚本。它正在抛出错误。
Get-ChildItem "C:\Users\myname\Desktop\sampledata" | ForEach-Object { Import-Csv $_.FullName | Export-Csv {$_.Name} -Delimiter "`t" -Encoding UTF8 }
我收到类似于以下的错误:
Import-Csv:成员“1”已经存在。在行:8 字符:72 + ... Desktop\sampledata" | ForEach-Object { Import-Csv $_.FullName | Expor ... + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Import-Csv], ExtendedTypeSystemException + FullyQualifiedErrorId : AlreadyPresentPSMemberInfoInternalCollectionAdd,Microsoft.PowerShell.Commands.ImportCs
我该如何解决这个问题?
【问题讨论】:
-
{$_.Name}是一个脚本块。删除{和}或使用(Join-Path 'c:\somewhere' $_.Name) -
是的。我删除了它。仍然面临同样的问题。我认为这与
Import-csv有关 -
显然您的 CSV 文件有重复的字段名称。
-
是的。你说的对。我也选择了相应的答案。
标签: powershell csv