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. objective-c - iOS开发支付宝和微信支付完成为什么跳转到了之前开发的一个app?2. python - 模拟滑动验证码,有源码,求解3. python - 搜索大文件(20G左右)4. javascript - ajax请求不返回,关闭页面时才返回。。。5. paramiko - Python tempfile生成的文件能不能拷贝到远程服务器?6. python - 如何给模块传参数,参数是模块的函数名?7. python中merge后文件莫名变得非常大8. objective-c - iOS怎么实现像QQ或者微信的实时推送9. python 中对redis 操作采用装饰器进行处理,怎么做10. html5 - <!doctype html public "storage"> 是什么意思