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   ?

  • 相关阅读:
    数据库中Schema(模式)概念的理解
    git错误处理
    mysql存储过程
    bunyan
    golang 小问题
    操作系统
    数据库优化
    内存控制
    MySQL优化2
    mysql优化1
  • 原文地址:https://www.cnblogs.com/jeff151013/p/10593822.html
Copyright © 2011-2022 走看看