CsvHelper 用引号包裹所有值

标签 csv quotes streamwriter csvhelper

我正在使用 CsvHelper 我需要用引号包裹所有值。
那可能吗?
数据 = 是一个列表

 using (StreamWriter textWriter = new StreamWriter(path))
 {
     textWriter.BaseStream.Write(p, 0, p.Length);
     // var dt = new DataTable();
     var csv = new CsvWriter(textWriter);
     csv.WriteRecords(Data);
     textWriter.Flush();
     textWriter.Close();
 }
谢谢

最佳答案

有一个名为 ShouldQuote 的配置值您可以在字段级别确定是否应该引用它。

void Main()
{
    var records = new List<Foo>
    {
        new Foo { Id = 1, Name = "one" },
        new Foo { Id = 2, Name = "two" },
    };

    using (var writer = new StringWriter())
    using (var csv = new CsvWriter(writer))
    {
        csv.Configuration.ShouldQuote = (field, context) => true;
        csv.WriteRecords(records);

        writer.ToString().Dump();
    }
}

public class Foo
{
    public int Id { get; set; }
    public string Name { get; set; }
}

输出:
"Id","Name"
"1","one"
"2","two"

关于CsvHelper 用引号包裹所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53995909/

相关文章:

c# - StreamWriter 似乎没有做任何事情?

python - 如何使用python将csv数据推送到mongodb

mysql - MySQL 中何时使用单引号、双引号和反引号

c# - 如果文件不存在则创建文件

mysql - MySQL 中何时使用单引号、双引号和反引号

c - 这个 char* 赋值发生了什么? (混合类型的逗号运算符)

c# 在整个程序中动态添加文本到文件

php - 将 '\t ' 等特殊字符转换为 "\t "(真正的制表符)

Python导入文本文件,其中每一行都有不同的列数

python - 类型错误 : argument 1 must have a "write" method