今天要介紹一個(gè)名為 FG.CsvParser 的庫(kù)。FG.CsvParser 是一個(gè)輕量級(jí)的 CSV 文件解析器,用于從 CSV 文件中讀取數(shù)據(jù)并將其轉(zhuǎn)換為適合處理的結(jié)構(gòu)。提供了一種便捷的方式來(lái)操作和處理 CSV 文件中的數(shù)據(jù),無(wú)論是導(dǎo)入數(shù)據(jù)、導(dǎo)出數(shù)據(jù),還是進(jìn)行數(shù)據(jù)分析。
安裝
Install-Package FG.CsvParser
寫入 CSV 文件
//1: 將字符串寫入 CSV 文件
using FG.CsvParser;
usingstatic CsvParserDemo.Program;
string csvPath = string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "product.csv");
//hasHeader:指定文件是否有標(biāo)題行
var parser = CsvParser.OpenFile(csvPath, hasHeader: true);
//string csvContent = "5001,Net,F2025021550001,NetShare,分享\r\n";
//await parser.WriteAsync(csvContent, append: false);
//2:將對(duì)象列表寫入 CSV 文件
var dataList = new List<MyDataClass>
{
new MyDataClass { Column1 = "net分享", Column2 = 1 },
new MyDataClass { Column1 = "NetShare", Column2 = 2 }
};
await parser.WriteAsync(dataList, append: false);
Console.WriteLine("List of objects written to CSV file.");
讀取 CSV 文件
支持讀取為json或者是對(duì)象列表
//1: 將字符串寫入 CSV 文件
using FG.CsvParser;
using System.Text;
string csvPath = string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "product.csv");
//CsvParserConfiguration :讀取的配置
usingvar parser = CsvParser.OpenFile(csvPath, new CsvParserConfiguration
{
HasHeader = true,
Delimitter = ',',
RowSplitter = "\r\n",
Encoding = Encoding.UTF8
});
//讀取為json
string? jsonContent = await parser.ReadAsJson();
// 可讀取為: ReadAs<T>()
Console.WriteLine(jsonContent);
配置選項(xiàng)
- ? QuoteChar:引號(hào)字符(如")。
- ? EscapeChar:轉(zhuǎn)義字符(如\)。
//CsvParserConfiguration :讀取文件的配置
using var parser = CsvParser.OpenFile(csvPath, new CsvParserConfiguration
{
HasHeader = true,
Delimitter = ',',
RowSplitter = "\r\n",
Encoding = Encoding.UTF8
});
總結(jié)
FG.CsvParser 提供了一個(gè)非常簡(jiǎn)單且功能強(qiáng)大的方式來(lái)處理 CSV 文件。它支持多種自定義選項(xiàng),如自定義分隔符、跳過(guò)標(biāo)題行、處理帶有引號(hào)的字段等,并且可以方便地讀取、解析和寫入 CSV 文件。
·············· END ··············
閱讀原文:原文鏈接
該文章在 2025/3/24 17:13:35 編輯過(guò)