gpt4 book ai didi

Powershell 导入-CSV : either reorder columns with no headers or export-CSV with no header

转载 作者:行者123 更新时间:2023-12-03 01:03:08 25 4
gpt4 key购买 nike

我有一个没有标题的 CSV 文件,我需要在第一列和第二列之间添加一列。我最终想将没有标题的文件导出到相同的文件名(因此我使用 Import-CSV 与 Get-Content 的原因)。

这是将新列添加到现有文件的脚本:

(Import-CSV U:\To_Delete\Layer_search\WB_layers-mod.csv) | 
Select-Object *,@{Expression={'FALSE'}} |
Export-Csv U:\To_Delete\Layer_search\WB_layers-mod.csv -NoTypeInformation

这会将新列添加为第三列。在进行谷歌搜索时,如果没有标题行,我找不到对列重新排序的方法,因此我修改了脚本如下:
(Import-CSV U:\To_Delete\Layer_search\WB_layers-mod.csv -header H1, H2)| 
Select-Object *,@{Name='H3';Expression={'FALSE'}} |
Select-Object -Property H1, H3, H2 |
Export-Csv U:\To_Delete\Layer_search\WB_layers-mod.csv -NoTypeInformation

这会使列以正确的顺序排列,但现在我想导出 CSV 而不添加我添加的标题行。但是,我发现的唯一建议是使用 Get-Content、Convert-to-CSV 和使用 Skip 1。这对我不起作用,因为我只运行 PS3,并且该选项直到 PS5 才可用,并且我想保存回原始文件名,而 Get-Content 无法做到这一点。

我可能使这比它需要的更难,但我会很感激任何建议。

谢谢!

编辑添加 :

为澄清起见,这是我正在导入的 CSV 文件的示例:
abc,1/1/2012
def,1/2/2012
ghi,1/3/2012

我想在第一列和第二列之间添加一列:
abc,FALSE,1/1/2012
def,FALSE,1/2/2012
ghi,TRUE,1/3/2012

希望这更有意义。

最佳答案

我会阅读标题 H1、H3 并计算 H2 以直接将它们按正确的顺序排列。

(Import-CSV .\sample.csv -header H1, H3)|
Select-Object H1,@{Name='H2';Expression={'FALSE'}},H3 |
ConvertTo-Csv -NoTypeInformation | Select-Object -Skip 1 | Set-Content New.csv

样本输出
"abc","FALSE","1/1/2012"
"def","FALSE","1/2/2012"
"ghi","FALSE","1/3/2012"

关于Powershell 导入-CSV : either reorder columns with no headers or export-CSV with no header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52989882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com