给定逗号分隔的纯文本文件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版本。
答案 0 :(得分:1)
以下是您的字面问题的答案,但我不是肯定的,它真的是您想要的:
$correctHeader = (Get-Content .\correct.csv)[0]
$in = Get-Content .\import-week10.csv
$in[0] = $correctHeader
$in | Set-Content .\correct.csv