今天在看Kettle的視訊中發現了行列轉換的方式,是以準備總結一下Excel中幾種行列轉換的方法。
就是實作以下效果。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SZ5I2NyUjNyMDZ5IWY1MmMllzY1IWMyUGZkNWYmNTOk9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
一維表轉二維表
方法一:Excel透視列
1. 選中資料源→資料→從表格
2. 選中想要更改為列的字段(這裡這裡是将星期改更改為列,是以選中的是星期列)→轉換→透視列
3. 在跳出的彈窗中值列選擇看你需求(這邊就是工作小時)→打開進階選項→聚合值函數也是看你需求,這邊選擇不聚合
4. 關閉并上載即ok
方法二:Excel資料透視表
- 選中資料→插入→資料透視表
- 姓名拖入行,星期拖入列,工作小時拖入值
- 完成
方法三:Python
import
方法四:Kettle
- Excel輸入
- 排序,預設設定即可(Kettle中有很多操作之前都是需要排序的)
- 列轉行(資料字段是原分列字段的列名,關鍵字段是原分列字段的值,目标字段是新分列的列名,相當于在這一步進行映射,注意要填寫字段類型,不然會報錯)
- Excel輸出(如果要輸出的是xlsx檔案,則需要選擇Microsoft Excel輸出)
- 完成
方法五:SQL
看看面試題吧[MySQL_查詢面試題(持續更新)](MySQL_查詢面試題(持續更新)_Lin_Xiao_Dai的部落格-CSDN部落格)
二維表轉一維表
方法一:Excel逆透視列
- 選中資料→資料→從表格
- 選中分列後郵件→逆透視列
- 上載
方法二:Kettle
- Excel輸入
- 排序
- 行轉列,同樣需要映射,字段是源資料中的分列列名,Key字段是合并後的列名,Key值是合并後列的值
- Excel輸出