CsvHelper 是一個非常強大的 C# 庫,用于讀取和寫入 CSV 文件。它提供了一種簡單且高效的方式來處理 CSV 數據,同時支持類型安全。下面是 CsvHelper 的一些基本用法示例和特點。
安裝 CsvHelper
您可以通過 NuGet 包管理器來安裝 CsvHelper。運行以下命令:
Install-Package?CsvHelper
基本用法
1. 定義數據模型
首先,您需要定義一個數據模型,以便將 CSV 文件中的數據映射到 C# 對象。
public class Person{
? ?public int Id { get; set; }
? ?public string Name { get; set; }
????public?int?Age?{?get;?set;?}}
2. 讀取 CSV 文件
使用 CsvHelper 讀取 CSV 文件非常簡單。您可以使用?CsvReader?類來讀取數據。
using System.Globalization;using CsvHelper;using System.IO;
// 讀取 CSV 文件using (var reader = new StreamReader("people.csv"))using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)){
? ?var records = csv.GetRecords().ToList(); // 將數據映射到 Person 對象列表
? ?foreach (var person in records)
? ?{
? ? ? ?Console.WriteLine($"{person.Id}, {person.Name}, {person.Age}");
????}}
3. 寫入 CSV 文件
同樣,使用?CsvWriter?類將 C# 對象寫入 CSV 文件也非常簡單。? ??
using (var writer = new StreamWriter("output.csv"))using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture)){
? ?var records = new List
? ?{
? ? ? ?new Person { Id = 1, Name = "John", Age = 30 },
? ? ? ?new Person { Id = 2, Name = "Jane", Age = 25 },
? ?};
????csv.WriteRecords(records);?//?將對象列表寫入?CSV?文件}
特性? ? ? ? ??
強類型支持:CsvHelper 使用反射將 CSV 數據映射到 C# 對象,支持強類型的操作。
配置靈活性:您可以通過配置 CsvHelper 進行自定義,例如定義分隔符、忽略空值等。
強大的錯誤處理:CsvHelper 提供了豐富的錯誤處理功能,可以幫助您捕獲和處理數據轉換中的問題。
支持復雜類型:CsvHelper 支持處理嵌套對象和集合,您可以輕松處理復雜的數據結構。
自定義映射:您可以通過創建自定義映射類來控制字段映射,以適應 CSV 文件的不同格式。
? ? ? ? ??
總結
CsvHelper 是一個功能強大且易于使用的庫,非常適合在 C# 中處理 CSV 文件。無論是讀取、寫入還是進行復雜的數據操作,它都能提供高效和簡潔的解決方案。如果您經常處理 CSV 文件,不妨嘗試一下 CsvHelper!? ??
該文章在 2024/12/4 15:28:03 編輯過