您的位置:首页技术文章
文章详情页

python 复杂表格合并

浏览:37日期:2022-08-19 18:06:17

问题描述

[{'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',},]

需要转换表格为:

python 复杂表格合并

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...

标签: Python 编程
相关文章: