【问题标题】:Powershell Export-Csv creates empty filesPowershell Export-Csv 创建空文件
【发布时间】:2014-06-01 02:40:12
【问题描述】:

我正在尝试使用 Powershell 一次从大量 CSV 中删除列。我正在尝试使用

Get Child-Item *.csv | Foreach-Object {Import-Csv $_ | select data, close | Export-Csv $_ - NoTypeInformation}

但是,我最终得到了一堆空的 CSV。我猜这与导出与我正在导入的名称相同的 CSV 有关,因为如果我使用不同的名称(即 Import-Csv X.csv ... Export-Csv XXXXXX.csv),它可以正常工作.

但是,当我涉及“$_”并且手动操作太多时,我无法弄清楚如何编辑输出 CSV 名称。

我给出的命令有什么问题?另外,为了将来参考,我如何让输出成为不同的文件名?

谢谢。

【问题讨论】:

    标签: powershell csv export-to-csv


    【解决方案1】:

    好的,一个衬垫很好,但如果你开始遇到问题,可能是时候把它分解了。这会将其导入一个变量,然后选择您想要的两列并将其导出到一个文件名末尾带有-trimmed 的文件。

    Gci *.csv ¦ select -expand Fullname ¦ %{
        $current = import-csv $_
        $newname = $_ -replace ".Csv$", "-trimmed.csv"
        $current ¦ select data, close ¦ export-csv $newname -notype
    

    }

    这应该可以,但我无法测试,因为我是在下班回家的公共汽车上用手机发帖的。

    【讨论】:

    • 谢谢!我想不通的是$newname这一行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    相关资源
    最近更新 更多