帮我写一个完整的C#读取CSV方法
时间: 2024-12-30 19:37:12 浏览: 58
在C#中,可以使用内置的`System.IO`和`System.Data`命名空间提供的功能来读取CSV文件。下面是一个简单的示例,展示了如何使用`StreamReader`配合`CsvHelper`库(如果项目中没有这个库,需要先安装它)来读取CSV文件:
首先,你需要安装CsvHelper库,可以通过NuGet包管理器添加:
```sh
Install-Package CsvHelper
```
然后,你可以创建一个方法来读取CSV文件:
```csharp
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using CsvHelper;
public class CSVReader
{
public List<Dictionary<string, string>> ReadCSV(string filePath)
{
// 创建一个csv配置对象,指定分隔符
var csvConfig = new CsvConfiguration(CultureInfo.InvariantCulture) { Delimiter = ',' };
using (var reader = new StreamReader(filePath))
using (var csv = new CsvReader(reader, csvConfig))
{
csv.Configuration.HasHeaderRecord = true; // 如果CSV有标题行,请设为true
return csv.GetRecords<Dictionary<string, string>>().ToList();
}
}
}
// 使用方法
public static void Main()
{
string filePath = "path_to_your_file.csv";
var reader = new CSVReader();
var records = reader.ReadCSV(filePath);
foreach (var record in records)
{
foreach (KeyValuePair<string, string> keyValue in record)
{
Console.WriteLine($"Key: {keyValue.Key}, Value: {keyValue.Value}");
}
}
}
```
在这个例子中,CSV数据会被解析成一个字典列表,每个元素都是一个字典,键值对对应CSV文件中的每一列。
阅读全文
相关推荐















