0

何百万行もある大きな csv ファイルがあります。サンプルの csv 行は次のとおりです。

コード、会社名、日付、アクション
A、私の名前、LLC、2018-01-28、購入
B、あなたの名前、LLC、2018-01-25、販売
C、
すべての名前、LLC、2018-01-21、販売
D、World Name、LLC、2018-01-20、購入

行 C に改行がありますが、実際には同じレコードです。セル\フィールド\列内のcsv行から改行文字を削除したい。

私は疲れまし\r\nた、Envirnment.NewLineそして他の多くのことをしましたが、それを機能させることができませんでした.

これが私のコードです..

 private DataTable CSToDataTable(string csvfile)
    {
        Int64 row = 0;
        try
        {

            string CSVFilePathName = csvfile; //@"C:\test.csv";
            string[] Lines = File.ReadAllLines(CSVFilePathName.Replace(Environment.NewLine, ""));
            string[] Fields;
            Fields = Lines[0].Split(new char[] { ',' });
            int Cols = Fields.GetLength(0);
            DataTable dt = new DataTable();
            //1st row must be column names; force lower case to ensure matching later on.
            for (int i = 0; i < Cols; i++)
                dt.Columns.Add(Fields[i].ToLower(), typeof(string));
            DataRow Row;
            for (row = 1; row < Lines.GetLength(0); row++)
            {
                Fields = Lines[row].Split(new char[] { ',' });
                Row = dt.NewRow();
                //Console.WriteLine(row);
                for (int f = 0; f < Cols; f++)
                {
                    Row[f] = Fields[f];
                }
                dt.Rows.Add(Row);
                if (row == 190063)
                {
                }
            }
            return dt;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

改行文字を削除して行を正しく読み取るにはどうすればよいですか? ビジネス要件に従って、そのような行をスキップしたくありません。

4

2 に答える 2