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. java - mysql缓存问题2. PHP搜索功能的实现 哪里错了3. angular.js使用$resource服务把数据存入mongodb的问题。4. 新建index文件夹,然后把controller 以及文件index.php放入index文件夹。修改htaccess文件为扩展访问。但是访问的时候提示页面错误!请稍后再试。PHP版本正常,请老师解答5. mysql - 千万级数据表如何有效的变更字段?6. 请问一下,图片上传成功,但是后台对应文件夹里面却没有图片,这是什么原因?(已部署到服务器)7. 电脑上装了wamp后,再装了mysql,wamp上的mysql就不能用了8. php - SQL 一条语句查询出文章和对应的文章标签9. java - 触发器使两张表同时更新10. php+mysql 高并发 根据id 循环下载数据如何避免重复 (接口)

网公网安备