gpt4 book ai didi

excel - 使用 Powershell 删除包含特定字符的 .CSV 文件中的行

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

我收到来自系统的 .csv 格式的自动每周导出。它包含许多带有用户首字母的用户名(例如“fl”、“nk”)。他们中的一些人有他们的名字和姓氏,用逗号分隔(例如 firstname.lastname)。这些是必须从 .csv 文件中删除的那些。
我的目标是编写一个 Powershell 脚本,该脚本删除所有包含字符“。”的行。 (点),然后通过覆盖保存相同的 .csv 文件。
由于我对 Powershell 很陌生,因此我非常感谢您提供更详细的答案,包括潜在的代码。我尝试了来自类似问题的各种示例,我在这里找到了这些示例,但它们都不起作用和/或我收到错误消息,主要是因为我的语法不正确。
附加信息。这是表格的一部分。
enter image description here
我试过这段代码:

Get-Content "D:\file.csv" | Where-Object {$_ -notmatch '\.'} | Set-Content "D:\File.csv"-Force -NoTypeInformation

最佳答案

正如 Mathias 所说,查看您的尝试会很有帮助,因此我们可以帮助您获得有效的结果。很容易给你这样的东西:

$csv = Import-Csv -Path C:\Temp\temp.csv -Delimiter ";"
$newCSV = @()
foreach($row in $csv){
if(!$row.username -or $row.username -notlike "*.*"){
$newCSV += $row
}
}
$newCSV | Export-Csv -Path C:\Temp\temp.csv -Delimiter ";" -NoTypeInformation
上面的代码消除了用户名字段上有一个点的行。它使用 'if(!$row.username' 部分保留空用户名的行。但我不知道这是否有帮助,因为没有示例 CSV 文件,也无法知道您尝试了什么远的 ;)
请注意,我总是更喜欢使用“;”作为分隔符,因为在 Excel 中打开文件已经被正确分隔。如果当前文件使用 ',' 作为分隔符,则在导入 CSV 时需要更改它。

关于excel - 使用 Powershell 删除包含特定字符的 .CSV 文件中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68904241/

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