修复csv文件中的重复列名称

时间:2018-05-23 15:03:28

标签: powershell csv

给定逗号分隔的纯文本文件import-week10.csv文件,我想更改标题,以修复重复的列名称问题。 “更正的”标题将在另一个文件correct.csv(那里唯一的行)中可用。然后使用这个新标题保存(覆盖)文件import-week10.csv。

文件中的第一行示例:

ID,name,surname,DOB,name,surname,DOB,amount

ID,"name","surname","DOB",name,surname,DOB,amount
应该使用唯一的列名称

ID,"name main","surname main","DOB main","name joint","surname joint","DOB joint",amount

第一个问题,如何使用Powershell编写此更改的脚本?

第二个问题,我想比较并得到一个警告:如果第一行在import-week10.csv中发生了变化,那就是上周的文件import-week09.csv。假设每隔几周就会添加或更改新列。

环境:WS 2012 R2,如果需要,可以更新到最新的PS版本。

1 个答案:

答案 0 :(得分:1)

以下是您的字面问题的答案,但我不是肯定的,它真的是您想要的:

$correctHeader = (Get-Content .\correct.csv)[0]
$in = Get-Content  .\import-week10.csv
$in[0] = $correctHeader
$in | Set-Content .\correct.csv