因此,我试图查看CSV中的列名,将它们写入一个数组,然后将数据吐回一个新的CSV,并附加一个新列。只要我能在标题中添加一列,我就不在乎当前数据表是什么样子。这似乎是一件相当基本的事情,但我似乎找不到任何情况下有人这样做过。例如:
"Name","Location","Phone"
"John Smith","Toronto","555.555.5555"
"Jane Doe","Dallas","555.555.5554"
我只想保留姓名、位置和电话列名,并将它们放入另一个CSV中,再加一列。问题是,实际上有更多的列,但它们并不总是相同的,因此脚本需要能够与列名无关。我应该能够将任意数量的列以不同的名称提供给任何CSV,并且能够获得仅包含列名的输出文件。我尝试了至少十几种不同的方法来做到这一点,并不断遇到不同的问题。
示例:
$validatedfilepath = "validfile.csv"
$csvData = New-Object PSObject
$csvData = Import-CSV "file.csv" | Add-Member @{ID="$null"} -PassThru
$csvdata = $csvdata | get-member -Name * -MemberType NoteProperty
$csvData = @($csvData.Name)
$csvData
这将显示我希望在新validfile中显示的列名称的确切列表,但我不知道如何将其导出到CSV中作为列名。每次我尝试导出csv时,它要么给我每一行的字符长度计数,要么给我一些其他愚蠢的东西。
谢谢