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