如何在 C# 中拆分和保存 CSV 文件中的行
本文关键字:CSV 文件 保存 拆分 | 更新日期: 2023-09-27 18:32:40
我有以下CSV文件:
34416;15,14;22,67;71,51;73,59;73,1;67,19;64,07;64,29;67,94; ...
。
现在,我想保存第一个数字 34416 并用它替换每个分号,但不替换第一个分号。
现在,有下一行。相同的过程,只是开头的另一个数字。
public List<string> ConvertFile()
{
string allLines = string.Empty;
allLines = GetLinesFromFile();
for (int i = 0; i < GetLinesFromFile().Length; i++)
{
string[] split = allLines.Split(new Char[] { ';' });
string number = split[i];
allLines.Replace(";", ";34416|");
}
List<string> re = new List<string>();
re.Add(allLines);
return re;
}
我对 C# 编码很陌生 - 你能帮我吗?
提前谢谢。
你需要重新思考你的逻辑。首先GetLinesFromFile()
似乎返回了一个字符串;我会让它返回一个List<string>
(文件中的每一行都是一个字符串)。然后你可以这样做:
public List<string> ConvertFile()
{
var result = new List<string>();
foreach(var line in GetLinesFromFile())
{
var lineParts = line.Split(';');
var fixedLine = line.Replace(";", ";" + lineParts[0] + "|");
result.Add(fixedLine);
}
return result;
}
试试这个
public List<string> ConvertFile( )
{
string allLines = GetLinesFromFile();
List<string> re = new List<string>();
for (int i = 0; i < allLines.Length; i++)
{
string[] split = allLines.Split(new Char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
allLines.Replace(";", ";" + split[0] + "|");
re.Add(allLines);
}
return re;
}