【问题标题】:How can I insert a blank line between each row when writing to a CSV file?写入 CSV 文件时,如何在每行之间插入空行?
【发布时间】:2015-06-12 12:41:30
【问题描述】:

这是我输入的 CSV 文件的内容:

A1
A2
A3
A4

这是我想要的输出:

A1

A2

A3

A4

这是我尝试过的:

$content = Get-Content D:\test\final.csv 
ForEach ($line in $content) {write-Content "`n$line" Set-Content d:\test\q.csv } 

【问题讨论】:

    标签: powershell csv


    【解决方案1】:

    您所做的已经接近解决方案。第一个问题是我不知道名为write-content 的标准cmdlet。在您的代码中更改很少,您可以将其更新到此以获得结果。

    $content = Get-Content D:\test\final.csv 
    ForEach($line in $content){
        "`n$line" | Add-Content d:\test\q.csv
    }
    

    使用set-content,你有它的方式,会导致文件被覆盖每次你想追加。但我们可以对此进行改进并获得相同的结果。

    Get-Content D:\test\final.csv | ForEach-Object{"`n$_"} | Set-Content d:\test\q.csv
    

    【讨论】:

    • 成功了。非常感谢马特!最近两天我一直在努力。感谢您的帮助。
    • @RajReddy 很高兴我能帮上忙。考虑用左侧的绿色复选标记将此标记为答案。稍后再见!
    【解决方案2】:

    您如何读取 csv 文件?

    如果您使用Get-Content cmldet,则可以将-split 参数用于字符串:

    (Get-Content -Path $Path) -split ' '
    

    【讨论】:

    • 由于格式不正确,您误解了输入。
    猜你喜欢
    • 1970-01-01
    • 2011-03-21
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    相关资源
    最近更新 更多