CsvHelper 是一個(gè)非常強(qiáng)大的 C# 庫,用于讀取和寫入 CSV 文件。它提供了一種簡單且高效的方式來處理 CSV 數(shù)據(jù),同時(shí)支持類型安全。下面是 CsvHelper 的一些基本用法示例和特點(diǎn)。
安裝 CsvHelper
您可以通過 NuGet 包管理器來安裝 CsvHelper。運(yùn)行以下命令:
Install-Package?CsvHelper
基本用法
1. 定義數(shù)據(jù)模型
首先,您需要定義一個(gè)數(shù)據(jù)模型,以便將 CSV 文件中的數(shù)據(jù)映射到 C# 對(duì)象。
public class Person{
? ?public int Id { get; set; }
? ?public string Name { get; set; }
????public?int?Age?{?get;?set;?}}
2. 讀取 CSV 文件
使用 CsvHelper 讀取 CSV 文件非常簡單。您可以使用?CsvReader?類來讀取數(shù)據(jù)。
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(); // 將數(shù)據(jù)映射到 Person 對(duì)象列表
? ?foreach (var person in records)
? ?{
? ? ? ?Console.WriteLine($"{person.Id}, {person.Name}, {person.Age}");
????}}
3. 寫入 CSV 文件
同樣,使用?CsvWriter?類將 C# 對(duì)象寫入 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);?//?將對(duì)象列表寫入?CSV?文件}
特性? ? ? ? ??
強(qiáng)類型支持:CsvHelper 使用反射將 CSV 數(shù)據(jù)映射到 C# 對(duì)象,支持強(qiáng)類型的操作。
配置靈活性:您可以通過配置 CsvHelper 進(jìn)行自定義,例如定義分隔符、忽略空值等。
強(qiáng)大的錯(cuò)誤處理:CsvHelper 提供了豐富的錯(cuò)誤處理功能,可以幫助您捕獲和處理數(shù)據(jù)轉(zhuǎn)換中的問題。
支持復(fù)雜類型:CsvHelper 支持處理嵌套對(duì)象和集合,您可以輕松處理復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
自定義映射:您可以通過創(chuàng)建自定義映射類來控制字段映射,以適應(yīng) CSV 文件的不同格式。
? ? ? ? ??
總結(jié)
CsvHelper 是一個(gè)功能強(qiáng)大且易于使用的庫,非常適合在 C# 中處理 CSV 文件。無論是讀取、寫入還是進(jìn)行復(fù)雜的數(shù)據(jù)操作,它都能提供高效和簡潔的解決方案。如果您經(jīng)常處理 CSV 文件,不妨嘗試一下 CsvHelper!? ??
該文章在 2024/12/4 15:28:03 編輯過