【问题标题】:Deleting an entire row in Excel using PowerShell使用 PowerShell 在 Excel 中删除整行
【发布时间】:2019-03-18 09:24:43
【问题描述】:

我需要一个删除 CSV 文件中第一行的代码(该行也是空的)。我正在使用下面的代码来获取我需要的 CSV 文件并删除第一个单元格中的内容,即“用户”。但是当我删除内容时,单元格仍然是空的。我需要的是一种删除整行的方法,或者在删除“用户”后将整列向上移动?不知道有没有用...

Get-Content C:\TEMP\test\File1.csv |
    % { $_ -replace 'users', '' } |
    Set-Content C:\TEMP\test\file2.csv

【问题讨论】:

  • Get-Content input.csv | Select-Object -Skip 1 | Set-Content output.csv
  • 您确定要删除 row 而不是 column (_我需要删除第一个单元格中的内容,即“用户”_)?向我们展示您的 csv 文件的一部分,前两三行就足够了。确保在editing您的问题之前将真实姓名、电子邮件地址等更改为虚假地址。
  • 感谢@Theo 的回复,上面的单行代码做得很好:)

标签: powershell


【解决方案1】:

我不确定,但我认为您想要的是删除 File1.csv 文件的第一个 (用户)并输出一个包含所有列的新 csv 文件,除了这个 @ 987654322@列。

假设您的输入 csv 文件 (file1.csv) 如下所示:

"users","email","morestuff"
"John Doe","john.doe@yourcompany.com","blah"
"Jane Doe","jane.doe@yourcompany.com","more blah"

而您想要做的是删除 users 列,因此 file2.csv 将变为:

"email","morestuff"
"john.doe@yourcompany.com","blah"
"jane.doe@yourcompany.com","more blah"

那么这个单行应该做到这一点:

(Import-Csv -Path 'C:\TEMP\test\file1.csv' | Select-Object * -ExcludeProperty Users) | Export-Csv -Path 'C:\TEMP\test\file2.csv' -NoTypeInformation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 2021-10-23
    • 1970-01-01
    • 2021-10-08
    相关资源
    最近更新 更多