【问题标题】:Why do I have quotes in CSV File?为什么我在 CSV 文件中有引号?
【发布时间】:2016-08-25 09:56:30
【问题描述】:

我想用这段代码写标题:

const string Header = "Name;Date";

using (var writer = new StreamWriter(path))
{
   var csvWriter = new CsvWriter(writer);

   csvWriter.Configuration.Delimiter = ";";

   csvWriter.WriteField(Header);
   csvWriter.NextRecord();
   ...

之后打开文件:

"Name;Date"

我想要什么:

Name;Date

【问题讨论】:

    标签: c# csv csvhelper


    【解决方案1】:

    当您希望在单个字段的文本中包含分隔符时,CSV 中的引号有助于消除歧义。例如,如果我使用常规 CSV(以逗号作为分隔符),则其中一个字段可能是地址。但是如果我的地址是12 Some Street, Amazing Town,那么我就不能“按原样”存储它——逗号会让任何解析器认为地址是12 Some Street,而next字段是@987654323 @。因此,如果要存储的值包含分隔符或换行符(出于类似原因,但是:下一条记录),则使用引号来告诉它您的意思。

    在您的情况下,您的分隔符是 ; 并且值包含 ; - 所以是的,它需要引号。我怀疑你实际上打算写 两个 标题,一个Name,一个Date。例如:

    csvWriter.WriteField("Name");
    csvWriter.WriteField("Date");
    csvWriter.NextRecord();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-27
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 2014-04-22
      • 2020-05-23
      • 2021-05-11
      相关资源
      最近更新 更多