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 ...
随机推荐
- Java多态之向上转型
目录 Java多态之向上转型 多态的优点 向上转型 概念 向上转型好在哪 Java多态之向上转型 多态性是面向对象的第三大特征. 多态的优点 改善代码的组织结构和可读性. 能够创建可扩展的程序.(随时 ...
- Vue中无法检测到数组的变动
本周在写项目中遇到修改数组中的值时,视图无变化问题.在查阅Vue官方文档后了解到,由于由JavaScript 的限制,Vue 不能检测以下数组的变动: 当利用索引直接设置一个数组项时,例如:vm.it ...
- CCF-CSP题解 201903-4 消息传递接口
求并行的各个进程,且进程内部顺序执行的情况下,会不会出现"死锁". 首先用\(%[^\n]\)将每个进程读入.最后过不了居然是因为\(str[\ ]\)开小了(悲喜交加.存储在\( ...
- WPF的DataGrid用法-小白向
前几天打算尝试下DataGrid的用法,起初以为应该很简单,可后来被各种使用方法和功能实现所折磨.网络上的解决方法太多,但也太杂.没法子,我只好硬着头皮阅览各种文献资料,然后不断的去尝试,总算小有成果 ...
- Java使用iBatis批量插入数据到Oracle数据库
Java使用iBatis批量插入数据到Oracle数据库 因为我们的数据跨库(mysql,oracle),单独取数据的话需要遍历好多遍,所以就想着先从mysql数据库中取出来的数据然后在oracle数 ...
- 【每天一题】LeetCode 0067. 二进制求和
开源地址:https://github.com/jiauzhang/algorithms 题目描述 * https://leetcode-cn.com/problems/add-binary * 给定 ...
- 分布式系统的发展演变以及RPC简介
场景 什么是分布式系统 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统. 分布式系统是建立在网络之上的软件系统. 注: 博客: https://blog.csdn.net/b ...
- vue.config.js的常用配置
const path = require('path') const glob = require('glob') const resolve = (dir) => path.join(__di ...
- 28.web8
file_get_contents()文件包含漏洞,根据题目提示txt?尝试flag.txt payload: ?ac=flags&fn=flag.txt
- 如何开启MySQL慢查询日志
一.开启慢查询日志首先需要了解四个参数: slow_query_log # 是否开启慢查询日志,默认OFF,开启则设置为 ON. slow_query_log_file # 慢查询日志文件存储位置. ...