gpt4 book ai didi

powershell - 在 Powershell 中使用 Import-CSV,忽略注释行

转载 作者:行者123 更新时间:2023-12-04 22:21:22 27 4
gpt4 key购买 nike

我认为我一定遗漏了一些明显的东西,因为我正在尝试使用 Import-CSV 导入在文件顶部注释掉行(总是以 # 作为第一个字符开头)的 CSV 文件,因此文件看起来像这样:

#[SpecialCSV],,,,,,,,,,,,,,,,,,,,
#Version,1.0.0,,,,,,,,,,,,,,,,,,,
#,,,,,,,,,,,,,,,,,,,,
#,,,,,,,,,,,,,,,,,,,,
#[Table],,,,,,,,,,,,,,,,,,,,
Header1,Header2,Header3,Header4,Header5,Header6,Header7,...
Data1,Data2,Data3,Data4,Data5,Data6,Data7,...

我想忽略前 5 行,但仍使用 Import-csv 将其余信息很好地导入 Powershell。

谢谢

最佳答案

CSV 没有“评论”的概念——它只是平面数据。您需要使用 Get-Content 并检查每一行。如果一行以 # 开头,则忽略它,否则处理它。

如果您可以使用临时文件:

Get-content special.csv |where-object{!$_.StartsWith("#")}|add-content -path $(join-path -path $env:temp -childpath "special-filtered.csv");
$mydata = import-csv -path $(join-path -path $env:temp -childpath "special-filtered.csv");
remove-item -path $(join-path -path $env:temp -childpath "special-filtered.csv")
$mydata |format-table -autosize; #Just for illustration

编辑:忘记了 convertfrom-csv 。这样就简单多了。
$mydata = Get-Content special.csv |
Where-Object { !$_.StartsWith("#") } |
ConvertFrom-Csv

关于powershell - 在 Powershell 中使用 Import-CSV,忽略注释行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18026071/

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