gpt4 book ai didi

c# - 在C#中将数据写入CSV文件

转载 作者:IT王子 更新时间:2023-10-29 03:30:47 25 4
gpt4 key购买 nike

我正在尝试使用 C# 语言逐行写入 csv 文件。这是我的功能

string first = reader[0].ToString();
string second=image.ToString();
string csv = string.Format("{0},{1}\n", first, second);
File.WriteAllText(filePath, csv);

整个函数在循环中运行,每一行都应写入 csv 文件。在我的例子中,下一行会覆盖现有的行,最后,我在 csv 文件中得到的只有一条记录,这是最后一条。如何在 csv 文件中写入所有行?

最佳答案

更新

在我幼稚的日子里,我建议手动执行此操作(这是一个简单问题的简单解决方案),但是由于它变得越来越流行,我建议使用库 CsvHelper进行所有安全检查等。

CSV 比问题/答案所建议的要复杂得多。

原始答案

因为你已经有了一个循环,考虑这样做:

//before your loop
var csv = new StringBuilder();

//in your loop
var first = reader[0].ToString();
var second = image.ToString();
//Suggestion made by KyleMit
var newLine = string.Format("{0},{1}", first, second);
csv.AppendLine(newLine);

//after your loop
File.WriteAllText(filePath, csv.ToString());

或者类似的东西。我的理由是:您不需要为每个项目写入文件,您只需打开一次流然后写入它。

可以替换

File.WriteAllText(filePath, csv.ToString());

File.AppendAllText(filePath, csv.ToString());

如果你想在同一个文件中保留以前版本的 csv

C# 6

如果您使用的是 c# 6.0,那么您可以执行以下操作

var newLine = $"{first},{second}"

编辑

这是一个link一个解释 Environment.NewLine 做什么的问题。

关于c# - 在C#中将数据写入CSV文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18757097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com