今天要介绍一个名为 FG.CsvParser 的库。FG.CsvParser 是一个轻量级的 CSV 文件解析器,用于从 CSV 文件中读取数据并将其转换为适合处理的结构。提供了一种便捷的方式来操作和处理 CSV 文件中的数据,无论是导入数据、导出数据,还是进行数据分析。
安装
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:指定文件是否有标题行
var parser = CsvParser.OpenFile(csvPath, hasHeader: true);
//string csvContent = "5001,Net,F2025021550001,NetShare,分享\r\n";
//await parser.WriteAsync(csvContent, append: false);
//2:将对象列表写入 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或者是对象列表
//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);
配置选项
//CsvParserConfiguration :读取文件的配置
using var parser = CsvParser.OpenFile(csvPath, new CsvParserConfiguration
{
HasHeader = true,
Delimitter = ',',
RowSplitter = "\r\n",
Encoding = Encoding.UTF8
});
总结
FG.CsvParser 提供了一个非常简单且功能强大的方式来处理 CSV 文件。它支持多种自定义选项,如自定义分隔符、跳过标题行、处理带有引号的字段等,并且可以方便地读取、解析和写入 CSV 文件。
·············· END ··············
阅读原文:原文链接
该文章在 2025/3/24 17:13:35 编辑过