C#如何CSV中循环读取每一行,找到并清空带有指定字符串的那一行数据
时间: 2024-02-12 21:05:06 浏览: 190
你可以使用C#中的`StreamReader`和`StreamWriter`类来读取和写入CSV文件,同时使用`String.Split()`方法来将每行数据拆分为单独的字段。
以下是一个示例代码,它可以读取CSV文件的每一行,检查每个字段是否包含指定的字符串,并将包含指定字符串的行清空后写入到新的CSV文件中。
```csharp
string inputFilePath = "input.csv";
string outputFilePath = "output.csv";
string searchString = "指定字符串";
using (StreamReader reader = new StreamReader(inputFilePath))
using (StreamWriter writer = new StreamWriter(outputFilePath))
{
string line;
while ((line = reader.ReadLine()) != null)
{
bool containsSearchString = false;
string[] fields = line.Split(',');
for (int i = 0; i < fields.Length; i++)
{
if (fields[i].Contains(searchString))
{
containsSearchString = true;
fields[i] = string.Empty; // 清空该字段
}
}
if (!containsSearchString)
{
writer.WriteLine(line);
}
else
{
writer.WriteLine(string.Join(",", fields)); // 将清空后的行写入输出文件
}
}
}
```
请注意,这个示例代码假设CSV文件中每个字段都是逗号分隔的。如果您的CSV文件使用不同的分隔符,请相应地修改分割函数。
阅读全文