python 復雜表格合并
問題描述
[{'ID':'1','訂單號':'123456','用戶名':'路人甲','產品':'XX用品','顏色':'色1','數量':'1',},{'ID':'1','訂單號':'123456','用戶名':'路人甲','產品':'XX用品','顏色':'色2','數量':'20',},{'ID':'1','訂單號':'123456','用戶名':'路人甲','產品':'XX用品','顏色':'色3','數量':'3',},{'ID':'1','訂單號':'123456','用戶名':'路人甲','產品':'XX用品','顏色':'色4','數量':'4',},{'ID':'1','訂單號':'123456','用戶名':'路人甲','產品':'XX用品','顏色':'色5','數量':'5',},{'ID':'1','訂單號':'123456','用戶名':'路人甲','產品':'XX用品','顏色':'色6','數量':'6',},{'ID':'1','訂單號':'123456','用戶名':'路人甲','產品':'XX用品','顏色':'色7','數量':'30',},{'ID':'1','訂單號':'123456','用戶名':'路人甲','產品':'XX用品','顏色':'色8','數量':'8',},{'ID':'1','訂單號':'123456','用戶名':'路人甲','產品':'XX用品','顏色':'色9','數量':'9',},{'ID':'1','訂單號':'123456','用戶名':'路人甲','產品':'XX用品','顏色':'色10','數量':'40',},{'ID':'2','訂單號':'456789','用戶名':'路人乙','產品':'XXX用品','顏色':'紅色','數量':'100',},{'ID':'3','訂單號':'123456789','用戶名':'路人丙','產品':'XXXX用品','顏色':'金色','數量':'300',},{'ID':'3','訂單號':'987654321','用戶名':'路人丙','產品':'XXXX用品','顏色':'紫色','數量':'100',},]
需要轉換表格為:
python3 如何實現這種復雜的表格排列
問題解答
回答1:這個用pandas的groupby可能實現,代碼供你參考
# coding: utf-8from __future__ import unicode_literalsimport pandas as pdlst = [ {'ID': '1', '訂單號': '123456', '用戶名': '路人甲', '產品': 'XX用品', '顏色': '色1', '數量': '1', }, {'ID': '1', '訂單號': '123456', '用戶名': '路人甲', '產品': 'XX用品', '顏色': '色2', '數量': '20', }, {'ID': '1', '訂單號': '123456', '用戶名': '路人甲', '產品': 'XX用品', '顏色': '色3', '數量': '3', }, {'ID': '1', '訂單號': '123456', '用戶名': '路人甲', '產品': 'XX用品', '顏色': '色4', '數量': '4', }, {'ID': '1', '訂單號': '123456', '用戶名': '路人甲', '產品': 'XX用品', '顏色': '色5', '數量': '5', }, {'ID': '1', '訂單號': '123456', '用戶名': '路人甲', '產品': 'XX用品', '顏色': '色6', '數量': '6', }, {'ID': '1', '訂單號': '123456', '用戶名': '路人甲', '產品': 'XX用品', '顏色': '色7', '數量': '30', }, {'ID': '1', '訂單號': '123456', '用戶名': '路人甲', '產品': 'XX用品', '顏色': '色8', '數量': '8', }, {'ID': '1', '訂單號': '123456', '用戶名': '路人甲', '產品': 'XX用品', '顏色': '色9', '數量': '9', }, {'ID': '1', '訂單號': '123456', '用戶名': '路人甲', '產品': 'XX用品', '顏色': '色10', '數量': '40', }, {'ID': '2', '訂單號': '456789', '用戶名': '路人乙', '產品': 'XXX用品', '顏色': '紅色', '數量': '100', }, {'ID': '3', '訂單號': '123456789', '用戶名': '路人丙', '產品': 'XXXX用品', '顏色': '金色', '數量': '300', }, {'ID': '3', '訂單號': '987654321', '用戶名': '路人丙', '產品': 'XXXX用品', '顏色': '紫色', '數量': '100', }]df = pd.DataFrame(lst)df['數量'] = df['數量'].apply(lambda x: int(x))df['備注'] = ’’df1 = df.groupby(['ID','用戶名','產品', ’備注’,'訂單號','顏色']).sum()#導出到exceldf1.to_excel(’test.xlsx’)#輸出htmlprint df1.to_html()回答2:
先按順序排好以后再合并單元格落。
回答3:你需要一個操作Excel的庫,比如:openpyxl。
然后查這個庫怎么填數據,怎么合并單元格。
http://openpyxl.readthedocs.i...
相關文章:
1. html5 - vue怎么實現像京東天貓banner圖片圖片點擊放大,并可滑動到下一張2. java-ee - JAVA的注解@Api和@ApiOperation的作用是什么,怎么跳轉頁面的3. javascript - 閉包在實際開發中有什么用?4. java-ee - java導出excel,修改寫死界面的內容5. node.js - 前端測試(UI Recorder)webdriver啟動firefox報錯6. python - pip如何選擇裝到/usr/lib還是/usr/lib647. javascript - vue中input的blur影響了下拉的點擊事件如何解決8. java - 讀寫鎖中 寫鎖的降級問題9. windows10 - mysql時區問題10. java - jsp跳轉到servlet,出現404
