python3使用openpyxl生成xlsx类型的excel表格
一、使用介绍
使用openpyxl生成xlsx类型的execl,非常方便。先介绍下用到的相关模块与函数:
(1)Workbook:工作簿模块,在内存创建一个工作簿。
(2)ExcelWriter:使用它向exel中写数据。
(3)get_column_letter:给一个数字得到一个列名,如A、B、C。
二、openpyxl模块安装
模块安装命令:
pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple
三、操作示例
3.1 逐行生成Excel文件示例
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
from openpyxl.workbook import Workbook
from openpyxl.writer.excel import ExcelWriter# 创建一个excel文件并导入数据
if __name__ == '__main__':data = [['序号', '组号', '申报单位', '姓名', '准考号', '考试分数(卷面分)'], ['1', '1', '新民采油厂', '刘铁', '2012051224', '67.834'], ['2', '1', '吉林油田总医院', '吕册', '2012120214', '66.776'], ['3', '1', '吉林油田总医院', '王彦苏', '2012120718', '66.683'], ['4', '1', '农业开发公司', '刘化峰', '2012060120', '66.664'], ['5', '1', '油区教育处', '沙丽珊', '2012020817', '66.657'], ['6', '1', '油区教育处', '王志会', '2012020914', '66.545'], ['7', '1', '扶余采油厂', '姜波', '2012041210', '66.355'], ['8', '2', '红岗采油厂', '王昕', '2012021226', '66.3'], ['9', '2', '通信公司', '彭莉', '2012121014', '66.17'], ['10', '2', '前郭矿区', '米云龙', '2012070121', '65.313'], ['11', '2', '油区教育处', '秦勤', '2012022620', '65.061'], ['12', '2', '储运销售公司', '许华', '2012130406', '64.95'], ['13', '2', '江南物业', '兰庆伟', '2012030620', '64.869'], ['14', '2', '滨江物业', '佟冬蕾', '2012110417', '64.652'], ['15', '2', '农业开发公司', '曹宽', '2012061025', '64.564'], ['16', '2', '农业开发公司', '孙成伟', '2012060318', '64.462'], ['17', '3', '红岗采油厂', '张大勇', '2012020112', '64.384'], ['18', '3', '储运销售公司', '刘贤宇', '2012130721', '64.378'], ['19', '3', '建设公司', '李月', '2012010316', '64.029'], ['20', '3', '客运公司', '姚佳媛', '2012130613', '63.914'], ['21', '3', '物资供应处', '张丽', '2012110925', '63.883'], ['22', '3', '江北物业', '益长虹', '2012100222', '63.723'], ['23', '3', '建设公司', '张雁冰', '2012013327', '63.630'], ['24', '3', '公用事业管理公司', '王涵', '2012022214', '63.522']]# 在内存创建一个工作簿objwb = Workbook()ws = wb.activews.title = u'招录人员名单'# 向第一个sheet页写数据吧r = 1for line in data:for col in range(1, len(line) + 1):ws.cell(row=r, column=col).value = line[col - 1]r += 1# 工作簿保存到磁盘wb.save('aa_test.xlsx')
文件效果如下:
3.2 合并多行写Excel文件
数据第二列是组号,数字相同的组号放在一个单元格中,怎么办呢?
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
from openpyxl.workbook import Workbook
from openpyxl.writer.excel import ExcelWriter# 创建一个excel文件并导入数据
if __name__ == '__main__':data = [['序号', '组号', '申报单位', '姓名', '准考号', '考试分数(卷面分)'], ['1', '1', '新民采油厂', '刘铁', '2012051224', '67.834'], ['2', '1', '吉林油田总医院', '吕册', '2012120214', '66.776'], ['3', '1', '吉林油田总医院', '王彦苏', '2012120718', '66.683'], ['4', '1', '农业开发公司', '刘化峰', '2012060120', '66.664'], ['5', '1', '油区教育处', '沙丽珊', '2012020817', '66.657'], ['6', '1', '油区教育处', '王志会', '2012020914', '66.545'], ['7', '1', '扶余采油厂', '姜波', '2012041210', '66.355'], ['8', '2', '红岗采油厂', '王昕', '2012021226', '66.3'], ['9', '2', '通信公司', '彭莉', '2012121014', '66.17'], ['10', '2', '前郭矿区', '米云龙', '2012070121', '65.313'], ['11', '2', '油区教育处', '秦勤', '2012022620', '65.061'], ['12', '2', '储运销售公司', '许华', '2012130406', '64.95'], ['13', '2', '江南物业', '兰庆伟', '2012030620', '64.869'], ['14', '2', '滨江物业', '佟冬蕾', '2012110417', '64.652'], ['15', '2', '农业开发公司', '曹宽', '2012061025', '64.564'], ['16', '2', '农业开发公司', '孙成伟', '2012060318', '64.462'], ['17', '3', '红岗采油厂', '张大勇', '2012020112', '64.384'], ['18', '3', '储运销售公司', '刘贤宇', '2012130721', '64.378'], ['19', '3', '建设公司', '李月', '2012010316', '64.029'], ['20', '3', '客运公司', '姚佳媛', '2012130613', '63.914'], ['21', '3', '物资供应处', '张丽', '2012110925', '63.883'], ['22', '3', '江北物业', '益长虹', '2012100222', '63.723'], ['23', '3', '建设公司', '张雁冰', '2012013327', '63.630'], ['24', '3', '公用事业管理公司', '王涵', '2012022214', '63.522']]# 在内存创建一个工作簿objwb = Workbook()ws = wb.activews.title = u'招录人员名单'# 向第一个sheet页写数据吧r = 1for line in data:for col in range(1, len(line) + 1):ws.cell(row=r, column=col).value = line[col - 1]r += 1# =========合并单元格区===========Li = []tmp1 = []tmp2 = []tmp3 = []for line in data: # 枚举法,总共三组数据,求出每组数据的数量v = line[1]if v == '1':tmp1.append(v)if v == '2':tmp2.append(v)if v == '3':tmp3.append(v)Li.append(tmp1)Li.append(tmp2)Li.append(tmp3)# 定义合并单元格的开始位置start_row = 2end_row = 2start_column = 2end_column = 2for each in Li:end_row = start_row + len(each) - 1ws.merge_cells(start_row=start_row, end_row=end_row, start_column=start_column, end_column=end_column)start_row = end_row + 1# =========合并单元格区===========# 工作簿保存到磁盘wb.save('aaaaaa_bbbbbb.xlsx')
文件效果如下:
python3使用openpyxl生成xlsx类型的excel表格相关推荐
- Qt: Linux下生成.xlsx文件(excel表格文件)
Qt开发,项目中有个功能是要将数据导出至excel文件,也就是.xlsx或.wps格式文件. 查询一番,需要用到一个库 Qt Xlsx,方法如下: 1. 下载源码: GitHub - dbzhang8 ...
- 使用Poi读取xlsx类型的Excel
其实这个跟读取xls是一样的,就是简单的换了个东西而已,下面直接进入正题. 1.使用Poi写xlsx类型的Excel package com.company.poi;import org.apache ...
- easypoi导出xlsx类型到excel设置
easypoi导出xlsx类型到excel,本质上是底层使用的Workbook对象不一样,xlsx使用XSSFWorkbook对象,所以在构建Workbook对象的时候,需要注意使用XSSFWorkb ...
- 用Xlsx xlsx-style 导出excel表格,附带合并单元格,文字居中,文字颜色字体大小等样式 (复制即可实现)
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一.用Xlsx xlsx-style 导出excel表格 二.使用步骤 1.安装插件 2.引入 总结 前 ...
- python列表逐行写入excel_python表格数据到excel-想问下python3怎么将列表数据逐行写入excel表格呢?...
如何用python将数据写入excel表格 简介绍一下这两个库,先说xlrd,这个Excel比较,各种方法使用起来方便: bk = xlrd.open_workbook('your.xls') sh ...
- 跳过密码打开excel表格xlsx,忘记excel表格xlsx密码如何找回?
excel表格xlsx解密,excel表格xlsx权限限制如何解除?[解密神器]excel表格xlsx软件解密工具,我一直在用「密码帝」 超级好用,百度搜索密码帝就可以了!非常简单手机电脑都可以用,一 ...
- 前端实现生成带有样式的excel表格 Node和浏览器读写Excel文件探究实践
最近碰到个需要自动生成表格的任务,作为前端的我,就想在 node 和浏览器中生成强大的表格,所以特此研究了很多关于表格的 npm 库 支持读写 Excel 的 node.js 模块 node-xlsx ...
- python生成带超链接的excel表格
前提:项目里已经有函数功能将数据库数据生成excel表格 需求:将现有的excel表格数值覆盖为url超链接 利用pandas直接写入 优点: 省事,只要把数值用原始的excel函数 =HYPERLI ...
- qt 使用 xlsx库操作excel表格(代码准确性未验证)
Demo: #include"xlsxdocument.h"#include "xlsxformat.h" #include "xlsxcellran ...
最新文章
- MySQL之pymysql模块
- GridView隐藏列取值解决方案
- 中国电子学会图形化四级编程题:加减法混合运算器
- JS模块化工具requirejs教程02
- Markdown通用的常用语法说明
- 成功解决ModuleNotFoundError: No module named 'utils'
- 贵州计算机专业强的专科学校,贵州排名靠前的五年制大专学校--贵州计算机学校...
- 光纤熔接盒盘线方法_【图文教程】光纤熔接技术的操作与技巧分享!
- 将Vue+Nodejs项目部署到阿里云服务器
- 135_Power Query M语言快捷输入之输入法设置自定义短语
- guice依赖注入原理_Google Guice依赖注入示例教程
- qt 串口助手_新手如何从零开发ROS小车 (ros串口通讯、PID运动控制、双轮差速模型解算...
- 基于广度优先搜索的哈密顿图的判断算法
- MATLAB绘图—三维等值线绘图(contour3)
- 新人小白的第一次天池比赛感受
- 大龙嘚吧嘚之“C#中的类型转换”(前面是铺垫,可以直接跳到最后)
- conflict: unable to delete xxx (must be forced) - image is being used by stopped container xxx
- 循环播放背景音乐 html,js背景音乐循环播放代码(多浏览器支持)
- 软考 程序员教程-第二章 操作系统基础知识
- c头文件(.h)的作用