Parsing Tab delimited text files

后端 未结 5 738
长发绾君心
长发绾君心 2020-12-10 19:07

I have a tab delimited file with some columns and rows for example: some rows might not have value for some columns. What we know is that the \"order\" doe

5条回答
  •  南笙
    南笙 (楼主)
    2020-12-10 19:51

    Try following approach

    static void Main(string[] args)
    {
        DataTable datatable = new DataTable();
        StreamReader streamreader = new StreamReader(@"C:\Temp\txt.txt");
        char[] delimiter = new char[] { '\t' };
        string[] columnheaders = streamreader.ReadLine().Split(delimiter);
        foreach (string columnheader in columnheaders)
        {
            datatable.Columns.Add(columnheader); // I've added the column headers here.
        }
    
        while (streamreader.Peek() > 0)
        {
            DataRow datarow = datatable.NewRow();
            datarow.ItemArray = streamreader.ReadLine().Split(delimiter);
            datatable.Rows.Add(datarow);
        }
    
        foreach (DataRow row in datatable.Rows)
        {
            Console.WriteLine(""----Row No: " + datatable.Rows.IndexOf(row) + "----"");
    
            foreach (DataColumn column in datatable.Columns)
            {
                //check what columns you need
                if (column.ColumnName == "Column2" || 
                    column.ColumnName == "Column12" ||
                    column.ColumnName == "Column45") 
                {
                    Console.Write(column.ColumnName);
                    Console.Write(" ");
                    Console.WriteLine(row[column]);
                }
            }
        }
        Console.ReadLine();
    }
    

提交回复
热议问题