📜  对象列表到csv c#(1)

📅  最后修改于: 2023-12-03 15:25:11.736000             🧑  作者: Mango

将对象列表转换为CSV格式

在C#应用程序中,有时需要将对象的列表转换为CSV格式的文件。在本教程中,我们将学习如何使用C#将对象列表转换为CSV格式的文件。我们还将演示如何为CSV数据添加标题。

CSV文件格式

CSV文件是以逗号分隔的值文件。每行表示一条记录,每列表示该记录的不同属性。例如,以下是一个CSV文件示例:

Name,Age,Gender
John,25,Male
Jane,30,Female

在上面的示例中,Name,Age和Gender是标题,表示每个记录的属性。每个记录均由逗号分隔的三个值构成,即Name,Age和Gender。

将对象列表转换为CSV

下面是一个将对象列表转换为CSV文件的简单方法。假设有一个名为Person的类,它有三个属性:Name,Age和Gender。

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string Gender { get; set; }
}

现在,我们生成一些人员数据,并将它们存储在Person列表中:

List<Person> persons = new List<Person>()
{
    new Person() { Name = "John", Age = 25, Gender = "Male" },
    new Person() { Name = "Jane", Age = 30, Gender = "Female" },
    new Person() { Name = "Jim", Age = 35, Gender = "Male" }
};

要将此列表转换为CSV文件,我们可以使用StringBuilder类来生成文件内容:

StringBuilder sb = new StringBuilder();

// 添加标题
sb.AppendLine("Name,Age,Gender");

// 添加数据
foreach (Person person in persons)
{
    sb.AppendFormat("{0},{1},{2}", person.Name, person.Age, person.Gender);
    sb.AppendLine();
}

// 将文件内容写入磁盘
File.WriteAllText(@"D:\persons.csv", sb.ToString());

我们首先创建一个StringBuilder对象sb,然后添加CSV文件的标题。然后,我们将Person列表中的每个记录迭代,将每个记录的属性添加到字符串生成器中。最后,我们将字符串生成器的内容写入名为persons.csv的文件中。

总结

在C#中,将对象列表转换为CSV格式的文件非常简单。我们可以使用StringBuilder类来生成文件内容,并使用File类将文件写入磁盘。我们还可以添加标题以提高数据可读性。