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. dockerfile - [docker build image失敗- npm install]2. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題3. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失敗!4. javascript - 前端如何通過ajax和node.js交互?5. javascript - 怎么實現讓 div 里面的 img 元素 中心居中, 如下示例圖6. python 字符串匹配問題7. javascript - IOS微信audio標簽不能通過touchend播放8. Python Tornado批量上傳圖片并顯示功能9. css3 隱藏文本10. javascript - CSS圖片輪播顯示問題
