如何在 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# 编码很陌生 - 你能帮我吗?

提前谢谢。

如何在 C# 中拆分和保存 CSV 文件中的行

你需要重新思考你的逻辑。首先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;
        }