zoukankan      html  css  js  c++  java
  • DataTable转置

    转置函数,ATable转置为BTable,再次转置将恢复为ATable

    static DataTable GetTransposeDataTable(DataTable sourceDataTable)
            {
                DataTable newDataTable = new DataTable();
                for (int i = 0; i < sourceDataTable.Rows.Count; i++)
                {
                    newDataTable.Columns.Add("Column" + i, typeof(string));
                }
                foreach (DataColumn dc in sourceDataTable.Columns)
                {
                    DataRow drNew = newDataTable.NewRow();
                    for (int i = 0; i < sourceDataTable.Rows.Count; i++)
                    {
                        drNew[i] = sourceDataTable.Rows[i][dc].ToString();
                    }
                    newDataTable.Rows.Add(drNew);
                }
                return newDataTable;
            }

    测试

    源数据表格式:

       A   A   A   A   ?

       A   B   C   D   ?

       B   B   B   B   ?

       A   B   C   D   ?

       C   C   D   D   ?

       A   D   A   B   ?

       D   D   C   A   ?

       C   D   C   D   ?

       A   B   C   D   ?

       A   B   C   D   ?

    转置完成后的数据表格式:
       A   A   B   A   C   A   D   C   A   A

       A   B   B   B   C   D   D   D   B   B

       A   C   B   C   D   A   C   C   C   C

       A   D   B   D   D   B   A   D   D   D

       ?   ?   ?   ?   ?   ?   ?   ?   ?   ?

    再次转置后数据表格式:
       A   A   A   A   ?

       A   B   C   D   ?

       B   B   B   B   ?

       A   B   C   D   ?

       C   C   D   D   ?

       A   D   A   B   ?

       D   D   C   A   ?

       C   D   C   D   ?

       A   B   C   D   ?

       A   B   C   D   ?

  • 相关阅读:
    文件处理
    集合 字符编码
    3-11作业
    win 10 在vs2017下对mpi的安装以及认识
    java中二维数组的排序
    java中Arrays的用法
    java中随机二维数组中寻找最大值并输出坐标
    用java打印图形
    面向对象object与constructor
    for each in for in 与for of
  • 原文地址:https://www.cnblogs.com/jeff151013/p/10593822.html
Copyright © 2011-2022 走看看