【问题标题】:Using PowerShell to get a count from a csv file and export to csv使用 PowerShell 从 csv 文件中获取计数并导出到 csv
【发布时间】:2015-06-14 04:09:29
【问题描述】:

我有一个名称、id、年龄的 csv 文件。我已正确导入它并正在寻找所有为空(空)的名称的计数。 到目前为止我有这个:

@(Import-Csv C:\Mine\Desktop\f1.txt | Where-Object {$_.name -eq ""}).Count

这会在提示中打印出正确数量的空名称,但如果我将其导出,则 txt 文件中不会显示任何内容。

@(Import-Csv C:\Mine\Desktop\f1.txt | Where-Object {$_.name -eq ""}).Count | Export-Csv C:\Mine\Desktop\tests.txt -notype

所以它在命令提示符中显示了正确的数字,但是当我尝试导出它时,它会创建 .txt 但它是空的。任何帮助,将不胜感激。另外,如果我想知道它们在整个 CSV 中有多少个空条目(来自名称、id、年龄)。最好的方法是做这条线 Where-Object {$_.name -eq ""} 但每次都更改$_.name?还是有更短的版本?

【问题讨论】:

    标签: powershell csv import export


    【解决方案1】:

    问题是您正在获取一个整数(具有空白名称的条目的计数)并尝试导出 CSV。 Export-CSV 期望您拥有一个对象或具有属性的对象数组,它可以将其转换为 CSV 格式的表格,其中属性名称作为标题行,每个对象的值低于该属性。

    您想要的只是将该值输出到文件中,因此请尝试将Export-CSV 替换为Set-Content(并删除-notype)以将您指定的文件内容设置为您的命令传递的数字.

    【讨论】:

    • 取决于文件是否已经包含数据 Add-Content 可能被认为更合适。 OP 没有任何说明,但值得注意。没有看到仅导出一个数字的文件是有用的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 1970-01-01
    • 2020-09-16
    • 2016-01-09
    • 2014-08-11
    • 1970-01-01
    相关资源
    最近更新 更多