如何从.csv文件中删除损坏的数据?

时间:2018-08-06 21:39:55

标签: c# csv corrupt

所以我有很多数据,但是我不确定如何删除损坏的数据。

在文件中,列表如下:

EMERIE,ESPARZA,166,57,34,BLUE,BLONDE

ADALINE,PARSONS,158,39,£$**),BROWN,GREY

£$**)代表损坏的数据,但我不知道如何删除它,我有10,000多个名称,其中有些是这样的。

1 个答案:

答案 0 :(得分:0)

假设您要完全删除损坏的数据行而不是修改它们,则可以执行以下操作:

public void RemoveCorruptData()
    {
        string path = @"C:\CSV.txt";
        string newPath = @"C:\new-CSV.txt";
        List<string> lines = new List<string>();
        Regex corrupt = new Regex("£$**");

        if (File.Exists(path))
        {
            using (StreamReader reader = new StreamReader(path))
            {
                string line;

                while ((line = reader.ReadLine()) != null)
                {
                    if (!corrupt.IsMatch(line))
                    {
                        lines.Add(line);
                    }
                }
            }

            using (StreamWriter writer = new StreamWriter(newpath, false))
            {
                foreach (String line in lines)
                    writer.WriteLine(line);
            }
        }
    }