在 C# 中解析 CSV 文件
本教程将讨论在 C# 中解析 CSV 文件的方法。
在 C# 中使用 TextFieldParser
类解析 CSV 文件
要使用 TextFieldParser
类,我们必须在我们的 C# 代码中引用 Microsoft.VisualBasic.dll
。TextFieldParser
类包含许多用于解析 C# 中的结构化文本文件的方法。通过使用 TextFieldParser
类中的 SetDelimiters()
函数将分隔符设置为 ,
,我们可以使用 TextFieldParser
类读取 CSV 文件。以下代码示例向我们展示了如何使用 C# 中的 TextFieldParser
类解析 CSV 文件。
using System;
using Microsoft.VisualBasic.FileIO;
namespace parse_csv {
class Program {
static void Main(string[] args) {
using (TextFieldParser textFieldParser = new TextFieldParser(@"C:\File\Sheet1.csv")) {
textFieldParser.TextFieldType = FieldType.Delimited;
textFieldParser.SetDelimiters(",");
while (!textFieldParser.EndOfData) {
string[] rows = textFieldParser.ReadFields();
}
}
}
}
}
在上面的代码中,我们通过在构造函数中指定 CSV 文件的路径,初始化了 TextFieldParser
类的实例 textFieldParser
。然后,我们将文本字段类型设置为使用 textFieldParser.TextFieldType = FieldType.Delimited
进行分隔,并通过 textFieldParser.SetDelimiter(',')
函数将 ,
设置为分隔符。然后,我们使用 while
循环以 textFieldParser.EndofData
读取 CSV 文件至末尾。我们使用 ReadFields()
函数将数据存储在字符串数组中。
使用 C# 中的 FileHelpers
库解析 CSV 文件
FileHelpers
库用于在 C# 中读写数据到文件、流和字符串。它是一个第三方库,未预装有 .NET
框架。我们可以通过在 Visual Studio IDE 的 NuGet 程序包管理器中搜索它来轻松安装它。我们可以使用 FileHelpersEngine
类从 C# 中的 CSV 文件中解析数据。FileHelperEngine
类将数据从文件中获取到 C# 中的类对象中。因此,我们首先要创建一个模型类,该模型类可以保存文件中的数据。该类将包含代表 CSV 文件中列的字段。我们可以使用 [DelimitedRecord(",")]
来指定这里使用 ,
作为分隔符。我们可以使用 ReadFile(path)
函数从指定路径中的文件中读取类对象数组中的数据。以下代码示例向我们展示了如何使用 C# 中的 FileHelpers
库来解析 CSV 文件。
using FileHelpers;
using System;
namespace parse_csv {
[DelimitedRecord(",")]
public class Record {
public string Name;
public string Age;
}
class Program {
static void Main(string[] args) {
var fileHelperEngine = new FileHelperEngine<Record>();
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
foreach (var record in records) {
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
输出:
Name
Age
MMA
22
SDA
19
SHA
11
在上面的代码中,我们读取 C:\File\records.csv
文件中的数据,并使用 C# 中的 FileHelpers
库将其保存在 Record
类的对象数组中。
相关文章
在 C# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:198 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:171 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:187 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中发出 HTTP POST Web 请求
发布时间:2024/02/04 浏览次数:131 分类:编程语言
-
在 C# 中,可以使用 3 种主要方法来发出 HTTP POST Web 请求:WebClient 类,HttpWebRequest 类和 HttpClient 类。本教程将讨论在 C# 中发出 HTTP POST Web 请求的方法。使用 C# 中的 WebClient 类发出 HTTP POST Web 请求
在 C# 中运行命令提示符命令
发布时间:2024/02/04 浏览次数:130 分类:编程语言
-
Process 类可用于在 C# 中运行命令提示符命令。在 C# 中使用 Process.Start() 函数运行命令提示符命令
在 C# 中调整图像大小
发布时间:2024/02/04 浏览次数:203 分类:编程语言
-
有两种主要方法可用于在 C# 中调整图像的大小,Bitmap 类构造函数和 graphics.DrawImage()函数。在本教程中,我们将讨论在C#中调整图像大小的方法。我们将带您完成整个过程,从加载原始图像到保
在 C# 中下载图片
发布时间:2024/02/04 浏览次数:138 分类:编程语言
-
有 3 种主要方法可用于下载 C# 中的图片,WebClient.DownloadFile()函数,Bitmap 类和 Image.FromStream()函数。在 C# 中使用 WebClient 类下载图片 WebClient 类提供了用于向 C# 中的 URL 发送数据和从 URL 接收数据
在 C# 中使用秒表
发布时间:2024/02/04 浏览次数:139 分类:编程语言
-
我们可以使用 Stopwatch 类来计算 C# 中的经过时间。使用 C# 中的秒表类计算经过时间 Stopwatch 类在 C# 中准确测量经过的时间。
在 C# 中获取可执行路径
发布时间:2024/02/04 浏览次数:200 分类:编程语言
-
有 3 种主要方法可用于获取 C# 中程序的可执行路径,即 Assembly 类,AppDomain 类和 Path 类。本教程将介绍获取 C# 代码的可执行路径的方法。使用 C# 中的 Assembly 类获取可执行路径