C# 按行读取csv
时间: 2023-12-08 13:38:33 浏览: 57
以下是C#按行读取csv文件的示例代码:
```csharp
string path = "data.csv";
List<string> lines = File.ReadAllLines(path).ToList();
foreach (string line in lines)
{
string[] entries = line.Split(',');
foreach (string entry in entries)
{
Console.Write(entry + " ");
}
Console.WriteLine();
}
```
上述代码中,我们首先使用`File.ReadAllLines`方法一次性读取整个csv文件,并将其转换为字符串列表。然后,我们使用`foreach`循环遍历每一行,并使用`string.Split`方法将每一行按逗号分隔成多个条目。最后,我们再次使用`foreach`循环遍历每个条目,并将其输出到控制台。
相关问题
c# csv文件按行读取
在C#中,可以使用StreamReader类来按行读取CSV文件。以下是一个简单的示例代码:
```csharp
using System.IO;
// ...
string filePath = "path/to/your/csv/file.csv";
using (StreamReader reader = new StreamReader(filePath))
{
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
// 处理每一行数据
}
}
```
在这个示例中,我们使用StreamReader类打开CSV文件并逐行读取。在while循环中,我们检查是否到达文件的末尾,如果没有,就读取下一行数据并进行处理。
需要注意的是,CSV文件中的每一行都是由逗号分隔的字段组成的。如果您需要将每一行数据拆分为字段,请使用String.Split方法。
c# 一次读取csv所有行数据
可以使用 .NET 中的 `System.IO.File` 类和 `System.Linq.Enumerable` 类来读取 CSV 文件中的所有行数据。以下是一个示例代码:
```csharp
using System.IO;
using System.Linq;
// 读取 CSV 文件并返回所有行数据
public static IEnumerable<string[]> ReadCsv(string filePath, char separator = ',')
{
return File.ReadLines(filePath)
.Where(line => !string.IsNullOrWhiteSpace(line))
.Select(line => line.Split(separator));
}
```
上述代码中,`ReadCsv` 方法接收 CSV 文件路径和分隔符参数,返回一个 `IEnumerable<string[]>` 类型的对象,其中每个元素表示 CSV 文件中的一行数据,以字符串数组的形式表示。调用方法如下:
```csharp
var lines = ReadCsv("data.csv");
foreach (var line in lines)
{
// 处理每一行数据
}
```
上述代码中,`data.csv` 是 CSV 文件的路径,`lines` 是返回的所有行数据。使用 `foreach` 循环遍历每一行数据,并进行处理。