.NET使用CsvHelper快速读取和写入CSV文件的操作方法
CsvHelper是一个用于.NET的轻量级、易于使用且功能强大的CSV文件处理库。它可以帮助您轻松地从CSV文件中读取数据并将其写入CSV文件,而无需处理繁琐的CSV文件格式细节。
首先,您需要通过NuGet安装CsvHelper库。您可以使用以下命令在Visual Studio或命令行中进行安装:
Install-Package CsvHelper
为了将CSV文件中的数据映射到您的应用程序对象,您需要定义一个模型类来表示CSV文件中的每一行数据。例如,假设您有一个CSV文件包含学生信息,如下所示:
姓名,年龄,班级
张三,18,高一
李四,17,高二
王五,16,初三
您可以使用以下模型类来表示CSV文件中的数据:
C#
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
public string Grade { get; set; }
}
请注意,模型类的属性名称应与CSV文件中的列名相匹配。
使用CsvHelper读取CSV文件非常简单。以下代码演示了如何读取CSV文件并将数据转换为Student对象的列表:
C#
using (var reader = new StreamReader("students.csv"))
using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
{
csv.Map<Student>(); // 映射CSV文件中的列名到Student模型类的属性名
var records = csv.GetRecords<Student>().ToList();
foreach (var student in records)
{
Console.WriteLine($"{student.Name},{student.Age},{student.Grade}");
}
}
使用CsvHelper写入CSV文件也非常简单。以下代码演示了如何将Student对象的列表写入CSV文件:
C#
using (var writer = new StreamWriter("students.csv"))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
csv.WriteRecords(students); // 将Student对象的列表写入CSV文件
}
CsvHelper还提供了许多其他功能,例如:
有关CsvHelper的更多信息,请参阅其官方文档:https://joshclose.github.io/CsvHelper/