C#读取csv文件到固定字段的datatable
时间: 2023-08-13 16:08:18 浏览: 205
可以使用 `TextFieldParser` 类来读取 CSV 文件,并将数据存储到 `DataTable` 中。下面是示例代码:
```csharp
using Microsoft.VisualBasic.FileIO;
// 读取 CSV 文件并返回 DataTable
public static DataTable ReadCsv(string csvFilePath)
{
var dataTable = new DataTable();
using (var parser = new TextFieldParser(csvFilePath))
{
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(",");
// 读取 CSV 文件头
if (!parser.EndOfData)
{
var fields = parser.ReadFields();
foreach (var field in fields)
{
dataTable.Columns.Add(field);
}
}
// 读取 CSV 文件数据
while (!parser.EndOfData)
{
var fields = parser.ReadFields();
var row = dataTable.NewRow();
for (int i = 0; i < fields.Length; i++)
{
row[i] = fields[i];
}
dataTable.Rows.Add(row);
}
}
return dataTable;
}
```
在上面的代码中,`TextFieldParser` 类用于解析 CSV 文件,并且通过 `SetDelimiters` 方法指定了字段分隔符为逗号。然后,首先读取 CSV 文件头并创建对应的 `DataTable` 列,然后再读取 CSV 文件数据并将它们添加到 `DataTable` 中。
阅读全文