双引号字符串后的第一个逗号后的文本将在powershell中的csv列中拆分

双引号字符串后的第一个逗号后的文本将在powershell中的csv列中拆分,powershell,csv,comma,Powershell,Csv,Comma,我需要使用powershell将以下文本写入csv文件 这是一篇课文,演示逗号和“双精度”的重要性 引用”。因此,这是非常重要的 我正在使用流编写器及其writeline()来实现上述功能。但是,字符串“双引号”后的第一个逗号后面的文本将在输出文件中的两个单元格中拆分 我的输出是这样的: 单元1的内容:这是一个文本,用于说明 逗号和“双引号”。因此 单元格2的内容:非常重要 如何使整个输入文本仅显示在一个单元格中 这是我的代码片段 $id = '12345' $preamble

我需要使用powershell将以下文本写入csv文件

这是一篇课文,演示逗号和“双精度”的重要性 引用”。因此,这是非常重要的

我正在使用流编写器及其writeline()来实现上述功能。但是,字符串“双引号”后的第一个逗号后面的文本将在输出文件中的两个单元格中拆分

我的输出是这样的:

单元1的内容:这是一个文本,用于说明 逗号和“双引号”。因此

单元格2的内容:非常重要

如何使整个输入文本仅显示在一个单元格中

这是我的代码片段

    $id = '12345'
    $preamble = 'This is a text, to demonstrate the importance of comma and the "Double Quotes". Hence, it is very important'
    $filename = "Comma.csv"
    $currentDir = Get-Location
    $outputcsv = Join-Path $currentDir $filename
    $str = [System.IO.StreamWriter] $outputcsv
    $newrow = "$id,`"$preamble`""
    $str.WriteLine($newrow)
    $str.Close()

通常,在创建文本中包含引号字符的CSV文件时,需要使用两个引号字符。那么绳子呢

This is a text, to demonstrate the importance of comma and the "Double Quotes". Hence, it is very important
将输入CSV,如下所示

"This is a text, to demonstrate the importance of comma and the ""Double Quotes"". Hence, it is very important"

另一方面,由于您正在使用PowerShell创建CSV文件,您可能应该使用
导出CSV
cmdlet。

谢谢robert.westerlund:)它成功了!由于我的程序中的输入文本是从数据库中检索的,所以我所要做的就是用两个双引号替换一个双引号。您是否尝试过使用
Export Csv
?我建议使用它,而不是手动处理。实际上,我的数据表中有一组行需要写入csv文件。我可以使用MyDataTable |直接导出Csv,但我必须向每行添加一些硬编码的列值。因此我觉得stream.writeline()是一个更好的选择。此外,Export csv命令中的“-Append”开关导致了问题。不知道您在使用
-Append
时遇到了什么问题,但是添加硬编码列应该不会是问题。只需执行类似于
MyDataTable | Select-Property*,@{N='AdditionalProperty';E={'PropertyValue'}}}的操作即可导出Csv C:\myfile.Csv-NoTypeInformation-Append