c# 编程中如何按列向csv文件内写入数据
时间: 2024-09-15 17:11:05 浏览: 52
在C#中,你可以使用`System.IO`命名空间下的`TextFieldParser`类来读写CSV文件,包括按列写入数据。以下是一个简单的例子:
首先,你需要安装`Microsoft.VisualBasic.FileIO` NuGet包,因为它包含了`TextFieldParser`类。
```csharp
using Microsoft.VisualBasic.FileIO;
public void WriteDataToCsv(string filePath, List<string[]> data)
{
if (!System.IO.File.Exists(filePath))
{
System.IO.File.CreateText(filePath).Close(); // 创建新的空CSV文件
}
using (var parser = new TextFieldParser(filePath))
{
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(",");
parser.HasFieldsEnclosedInQuotes = true; // 如果数据包含逗号或双引号,需要设置此属性
foreach (var row in data)
{
parser.WriteLine(row[0] + "," + row[1] + "," + ...); // 依次替换每一列的数据
}
}
}
// 使用方法
List<string[]> data = new List<string[]>()
{
new string[] {"Name", "Age"},
new string[] {"John Doe", "30"},
new string[] {"Jane Smith", "25"}
};
WriteDataToCsv("data.csv", data);
```
这个方法接受一个路径和一个二维字符串数组,其中每个内部数组代表一行,每列的数据由对应的元素表示。`writer.WriteLine()`将数据按照指定分隔符(这里是逗号)写入CSV文件。
阅读全文