openpyxl基本操作
参考资料:OpenPyXL的使用教程(一)
openpyxl 基本操作
from openpyxl import load_workbook, Workbook # ========
# 新建工作簿+sheet
wb = Workbook() #guess_types=True #
filepath = r'e:/aa.xlsx'
wb = load_workbook(filepath)
wb.save(filepath) #如果存在会覆盖,as_template=True, 将文件保存为模板,默认False # sheet名列表
#wb.get_sheet_names() #已弃用
wb.sheetnames
[sheet.title for sheet in wb] # ========
# 新建sheet
ws = wb.create_sheet(0) #第一个位置
ws = wb.create_sheet(title='1', index=1)
ws.title = 'Sheet1' # 访问指定sheet
ws = wb.active #调用wb._active_sheet_index
#ws = wb.get_sheet_by_name(sheet_name) #已弃用
ws = wb['Sheet1'] ws.rows
ws.columns
#ws.sheet_properties.tabColor = "1072BA" #改变sheet标签栏字体颜色 # 增删改查
ws['A4'] = 4
ws.cell('A4')
c = ws.cell(row = 4, column = 2)
c.value = 4
cell_range = ws['A1':'C2']
#[cell.value for row in ws.iter_rows('A1:C2') for cell in row] # ========
dataframe.to_excel(filepath, sheet_name=sheet_name, index=None)
writer = pd.ExcelWriter(filepath, engine='openpyxl')
dataframe.to_excel(excel_writer=writer, sheet_name=sheet_name, index=None)
writer.save()
writer.close() # ========
def excelAddSheet(dataframe, filepath, sheet_name):
import os
from openpyxl import load_workbook, Workbook #FileNotFoundError
if os.path.exists(filepath):
#当表名已存在时,后面还可以添加参数,进行追加
wb = load_workbook(filepath) #keep_vba=True
#sheet = book.active
with pd.ExcelWriter(filepath, engine='openpyxl') as writer:
writer.book = wb
#stratrow=1, startcol=1
dataframe.to_excel(excel_writer=writer, sheet_name=sheet_name, index=None)
#writer.save()
#writer.close()
else:
dataframe.to_excel(filepath, sheet_name=sheet_name, index=None)
oracle2Excel
import cx_Oracle
import openpyxl # 用户名
username = 'tj_20160217'
# 密码
password = 'tj_20160217'
# IP
ip = '10.0.250.19'
# 端口
port = '1521'
# 数据库实例名
servername = 'starbass'
# 获取连接
xlsxPath = 'E:\\sysconfigen.xlsx'
sheetName = 'sysconfigen'
wb = openpyxl.Workbook()
ws = wb.active
ws.title = sheetName
with cx_Oracle.connect(username + '/' + password + '@' + ip + ':' + port + '/' + servername) as db:
cur = db.cursor()
result = cur.execute('select * from sysconfigen')
row = 1
column = 1
# 获取表头
for header in cur.description:
ws.cell(row, column).value = header[0]
column += 1
row += 1
for one_result in result.__iter__():
column = 1
for at in one_result:
if at:
ws.cell(row, column).value = at
else:
# 空值处理
ws.cell(row, column).value = 'null'
column += 1
row += 1
wb.save(xlsxPath)
参考资料:https://github.com/a18792721831/StudyPython/tree/master/helloExcel
openpyxl基本操作的更多相关文章
- python3 openpyxl基本操作
#coding:utf-8 import xlrd import xlwt # 读写2007 excel import openpyxl import sys #读取设备sn # def readSN ...
- 女朋友汇总表格弄了大半天,我实在看不下去了,用40行代码解决问题 | Python使用openpyxl库读写表格Excel(xlsx)
1.openpyxl基本操作 python程序从excel文件中读数据基本遵循以下步骤: 1.import openpyxl 2.调用openpyxl模块下的load_workbook('你的文件名. ...
- Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...
- python之openpyxl模块
一 . Python操作EXCEL库的简介 1.1 Python官方库操作excel Python官方库一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库 ...
- Python excel 功能扩展库 ——> openpyxl 的基本使用
说明:本文档内容参考自 https://www.cnblogs.com/zeke-python-road/p/8986318.html (作者:关关雎鸠`)的文档 from openpyxl impo ...
- python3 excel基本操作及格式设置
#encoding=utf-8 ''' excel基本操作整理 ''' #openpyxl 版本2.5.4 from openpyxl import * import datetime as dt f ...
- python excel基本操作
#coding=utf-8 ''' excel基本操作 ''' from openpyxl import Workbook wb=Workbook() ws1=wb.create_sheet('sh1 ...
- 20201207-2 openpyxl 库与模块导入
1-1 import openpyxl # 通过文件路径,打开工作簿 wb1 = openpyxl.load_workbook('./demo_excel.xlsx') # 用 Workbook() ...
- Python对excel的基本操作
Python对excel的基本操作 目录 1. 前言 2. 实验环境 3. 基本操作 3.1 安装openpyxl第三方库 3.2 新建工作簿 3.2.1 新创建工作簿 3.2.2 缺省工作表 3.2 ...
随机推荐
- latex常用技巧
画表格 \usepackage{multirow} \begin{tabular}{cccc} \hline \multicolumn{4}{c}{学生信息}\\ \hline 班级& 姓名& ...
- CrazyBingo mini VIP 2.0 视频开发板 NIOS移植例程(原创)
创建一个NIOS环境 注意事项 前言:(先了解下硬件) 本板卡目前主要适合以下几类人: (1)对FPGA 逻辑开发有强烈的兴趣,并且有一定的HDL基础 (2)计划采用FPGA图像架构,学习并研究图像算 ...
- Shell排序 C&&C++
Shell排序 Shell排序是大量数据需要排序时,更为高效的插入排序.它的算法思想基于插入排序的算法思想 流程: (1)将n个元素数组分成n/2个数字序列,第一个数据和第n/2个数据为一对,等等 ...
- redis(7)--redis应用实战
问题1:哨兵模式下客户端应该连接哪个redis-server? 问题2:集群模式下为什么会有MOVED error Redis Java客户端介绍 已有的客户端支持 Redis Java客户端有很多的 ...
- JS基础-BOM
BOM BOM 是 browser object model 的缩写, 简称浏览器对象模型. 主要处理浏览器窗口和框架, 描述了与浏览器进行交互的方法和接口, 可以对浏览器窗口进行访问和操作, 譬如可 ...
- Java集合类框架的最佳实践?
根据应用的需要选择合适的集合对性能是非常重要的.如果一个集合的元素数量是固定的,而且我们能够提前知道固定的数量,那么就可以使用数组,而不是ArrayList. 每个集合都可以设置初始容量,如果我们提前 ...
- gulp遇到错误:The following tasks did not complete: default Did you forget to signal async completion?
运行之后会像下面一样报这个错误,因为事按着一个视频来写的,所以 原本的gulpfile.js如下 const gulp = require('gulp') gulp.task('default',() ...
- GitHub 上的 12306 抢票神器,助力回家过年
又到周末了,不过本周末有些略微的特殊. 距离每年一次的全球最大规模的人类大迁徙活动已经只剩下一个多月了,各位在外工作一年的小伙伴大多数人又要和小编一样摩拳擦掌的对待史上最难抢的抢票活动. 然鹅,身为一 ...
- 《Java基础知识》Java锁详解(volatile,synchronized等)
volatile: 让变量每次在使用的时候,都从主存中取. volatile具有synchronized关键字的“可见性”,但是没有synchronized关键字的“并发正确性”,也就是说不保证线程执 ...
- Mysql服务彪高排查方式及索引的正确使用步骤
原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/12af580d-1 ...