我查阅了文件,但没有看到任何相关的东西。我使用的是文档中相同的写函数,但问题是我还需要追加。到目前为止,我已经尝试阅读它,而不是将CSV添加到列表中,而不是将列表写入CSV。有什么更好的方法吗?
与我自己的变量一起使用的确切的写函数
var records = new List<Foo>
{
new Foo { Id = 1, Name = "one" },
};
using (var writer = new StreamWriter("path\\to\\file.csv"))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
csv.WriteRecords(records);
}我以前读的东西,但有我自己的变量:
using (var reader = new StreamReader("path\\to\\file.csv"))
using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
{
var records = csv.GetRecords<Foo>();
}希望有人能帮忙!
发布于 2020-05-31 07:47:18
使用StreamWriter(字符串,布尔)构造函数指定要追加到现有文件:
使用默认编码和缓冲区大小初始化指定文件的StreamWriter类的新实例。如果文件存在,则可以覆盖或附加到该文件。如果该文件不存在,则此构造函数将创建一个新文件。
参数
路径
字符串
要写入的完整文件路径。
追加
布尔值
true可将数据追加到文件中;false可覆盖该文件。如果指定的文件不存在,则此参数无效,构造函数将创建一个新文件。
至于您的CsvHelper CsvWriter,您需要将其配置为省略标题,这取决于您是在追加还是创建:
bool append = true;
var config = new CsvConfiguration(CultureInfo.InvariantCulture);
config.HasHeaderRecord = !append;
using (var writer = new StreamWriter("path\\to\\file.csv", append))
{
using (var csv = new CsvWriter(writer, config))
{
csv.WriteRecords(records);
}
}https://stackoverflow.com/questions/62113059
复制相似问题