【问题标题】:how can I transform the data from rows and columns to tabular form by using excel or python?如何使用 excel 或 python 将数据从行和列转换为表格形式?
【发布时间】:2021-07-16 18:44:06
【问题描述】:

如何使用 excel 或 python 将数据从 A 转换为 B?

一个

Column A     Column B      Column C       Column D        Column E
Jack          Micheal      16/02/2021     medicine A     medicine B

B

Column A      Column B          Column C
Jack          16/02/2021       medicine A
Jack          16/02/2021       medicine B
Micheal       16/02/2021       medicine A
Micheal       16/02/2021       medicine B

【问题讨论】:

    标签: python excel pandas numpy powerbi


    【解决方案1】:

    让我们假设您的表输入在列表结构的列表中

    您可以使用以下代码在不导入任何库的情况下执行此操作:

    table = [['Column A','Column B','Column C','Column D','Column E'],
             ['Jack','Micheal','16/02/2021','medicine A','medicine B']]
    
    def print_table(table):
        longest_cols = [
            (max([len(str(row[i])) for row in table]) + 3)
            for i in range(len(table[0]))
        ]
        row_format = "".join(["{:<" + str(longest_col) + "}" for longest_col in longest_cols])
        for row in table:
            print(row_format.format(*row))
            
    print_table(table)
    

    【讨论】:

      【解决方案2】:

      在 Excel 中,您可以按照以下步骤使用 Power Query,假设数据位于 Sheet1 的 A1:E2 中。

      将数据导入 Power Query

      ​​>
      1. 选择数据。
      2. 转到数据>获取和转换数据...
      3. 从表/范围中选择。

      在 Power Query 中转换数据

      1. 选择 A 列和 B 列,转到“转换”选项卡并选择“反透视列”。
      2. 右键单击属性列标题并选择删除。
      3. 选择 Value 和 Column C 列,转到 Transform 选项卡并选择 Unpivot Other columns。
      4. 重复步骤 2

      您现在应该拥有所需的数据,并且可以根据需要重命名/移动列。

      获得所需的所有内容后,单击关闭并加载以将代码返回到 Excel。

      这是由这些步骤生成的M-code

      let
          Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
          #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column A", type text}, {"Column B", type text}, {"Column C", type datetime}, {"Column D", type text}, {"Column E", type text}}),
          #"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Column C", "Column D", "Column E"}, "Attribute", "Value"),
          #"Removed Columns" = Table.RemoveColumns(#"Unpivoted Columns",{"Attribute"}),
          #"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"Value", "Column C", "Column D", "Column E"}),
          #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Reordered Columns", {"Value", "Column C"}, "Attribute", "Value.1"),
          #"Removed Columns1" = Table.RemoveColumns(#"Unpivoted Other Columns",{"Attribute"}),
          #"Renamed Columns" = Table.RenameColumns(#"Removed Columns1",{{"Value", "Colimn A"}, {"Column C", "Column B"}, {"Value.1", "Column C"}})
      in
          #"Renamed Columns"
      

      【讨论】:

        猜你喜欢
        • 2021-07-25
        • 2021-10-27
        • 1970-01-01
        • 2021-10-25
        • 2012-11-09
        • 1970-01-01
        • 1970-01-01
        • 2019-11-18
        • 2020-06-28
        相关资源
        最近更新 更多