1、创建工作簿

from openpyxl import Workbook
# 创建excel对象
wb = Workbook()
# 获取第一个sheet = wb.active
# 单元格写入内容
ws.append(['单元1','单元2','钉钉'])
ws['A1'] = 'A1'
ws['A2'] = '你好'+'A2'
# 新行写入多个单元格,默认会在新的一行里写入内容
ws.append(['单元11','单元22','钉钉1'])
# 插入自定义时间对象
import time
ws['B2'] = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
# 保存表格
wb.save("sample_demo.xlsx")

 2、创建sheet

from openpyxl import Workbook
wb = Workbook()
#创建sheet,如果已经存在多个sheet,默认在最后位置插入
ws1 = wb.create_sheet("sheet1")
#设置sheet的名字,注意'sheet1'为sheet对象的名字
ws1.title = '表1'
#指定位置创建sheet,第1个插入
ws2 = wb.create_sheet('sheet2',0)
ws2.title = '表0'
wb.save('sample_demo.xlsx') #获取某个sheet对象,两种方式
print(wb.get_sheet_by_name('表1'))
print(wb['表1'] == wb.get_sheet_by_name('表1')) #True #获取全部sheet名字
print(wb.sheetnames)
for i in wb:
print(i.title) #复制sheet
wb['表1']['A1'] = '中国'
source = wb['表1']
target = wb.copy_worksheet(source)
target.title = '拷贝表格'
wb.save('sample_demo.xlsx')

3、操作单元格

wb = Workbook()
ws = wb.create_sheet('my_sheet1')
# 单元格写入数据,两种方式
ws['A1'] = ''
ws['A2'] = '你好200'
v = ws.cell(3,1,300)
print(ws['A1'].value)
print(ws['A2'].value)
print(v.value)
#单元格输入百分号
ws['a1'] = "12%"
#打印出的是str类型的‘12%’
print(ws['a1'].value)
print(type(ws['a1'].value))

4、批量操作单元格

from openpyxl import Workbook
wb = Workbook()
ws = wb.create_sheet('my_sheet')
ws["A1"]=1
ws["A2"]=2
ws["A3"]=3
ws["B1"]=4
ws["B2"]=5
ws["B3"]=6
ws["C1"]=7
ws["C2"]=8
ws["C3"]=9
# 操作单列
print(ws['A'])
for cell in ws['A']:
print(cell.value)
print('===========')
# 操作多列
for column in ws['A:C']:
for cell in column:
print(cell.value)
print('===========')
# 操作多行
print(ws[1:3])
for row in ws[1:3]:
for cell in row:
print(cell.value)
print('===========')
print("===指定行列====")
for row in ws.iter_rows(min_row=1, min_col=1, max_col=3, max_row=3):
for cell in row:
print(cell.value)
print('===========')
# 操作所有行
print(ws.rows)
for row in ws.rows:
print(row)
#操作所有列
print(ws.columns)
for col in ws.columns:
print(col)

5、操作存在的文件

from openpyxl import Workbook
from openpyxl import load_workbook
wb = load_workbook("sample_demo.xlsx")
ws = wb.active
ws['a1'] = '' # ws['a1'].value = '333'效果一样
print(ws['a1'].value)

python3-常用模块之openpyxl(1)的更多相关文章

  1. python3 常用模块详解

    这里是python3的一些常用模块的用法详解,大家可以在这里找到它们. Python3 循环语句 python中模块sys与os的一些常用方法 Python3字符串 详解 Python3之时间模块详述 ...

  2. python3 常用模块

    一.time与datetime模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们 ...

  3. Python3常用模块的安装

    1.mysql驱动:mysql-connector-python 1.安装 $ pip3 install mysql-connector-python --allow-external mysql-c ...

  4. Python3 常用模块3

    目录 numpy模块 创建numpy数组 numpy数组的属性和用法 matplotlib模块 条形图 直方图 折线图 散点图 + 直线图 pandas模块 numpy模块 numpy模块可以用来做数 ...

  5. Python3 常用模块2

    目录 time 模块 时间戳形式 格式化时间 结构化时间 time.time() time.sleep() datetime 模块 random 模块 hashlib 模块 和 hmac 模块 typ ...

  6. Python3 常用模块1

    目录 os模块 对文件夹操作 对文件进行操作 sys模块 json 和pickle模块 logging模块 日志等级 longging模块的四大组件 自定义配置 os模块 通过os模块我们可以与操作系 ...

  7. 常用模块 - openpyxl模块

    一.简介 xlrd/xlwt 主要是针对Office 2003或更早版本的XLS文件格式 缺点:不支持XLSX文件格式 OpenPyXL 能读能写能修改 缺点:不支持XLS Microsoft Exc ...

  8. Python3基础(5)常用模块:time、datetime、random、os、sys、shutil、shelve、xml处理、ConfigParser、hashlib、re

    ---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...

  9. Python3基础笔记--常用模块

    目录: 参考博客:Python 之路 Day5 - 常用模块学习 Py西游攻关之模块 一.time模块 二.random模块 三.os模块 四.sys模块 五.hashlib模块 六.logging模 ...

  10. day--6_python常用模块

    常用模块: time和datetime shutil模块 radom string shelve模块 xml处理 configparser处理 hashlib subprocess logging模块 ...

随机推荐

  1. VSCode 常用setiings.json设置

    { , , "editor.multiCursorModifier": "ctrlCmd", "editor.snippetSuggestions&q ...

  2. vue cli3使用webpack4打包优化

    去掉console.log,以及开启gzip const CompressionPlugin = require('compression-webpack-plugin');//引入gzip压缩插件 ...

  3. [JZOJ3235] 数字八

    题目 题目大意 给你一个二维的图,其中.代表完好,*代表有缺陷. 现在要在图上刻一个数字\(8\),满足: 由两个矩形组成. 每个矩形中必须有空隙在内部,也就是说,至少为\(3*3\)的矩形. 上矩形 ...

  4. 阿里云在云栖大会发布SaaS加速器3.0版最新成果,让天下没有难做的SaaS

    2019年杭州·云栖大会顺利落幕,超过6万人次观展,200余位顶尖科学家分享了前沿技术.作为“阿里云不做SaaS”,坚持“被集成”战略的落地体现,阿里云SaaS加速器在云栖大会现场发布了SaaS加速器 ...

  5. hdu多校第三场 1007 (hdu6609) Find the answer 线段树

    题意: 给定一组数,共n个,第i次把第i个数扔进来,要求你删掉前i-1个数中的一些(不许删掉刚加进来这个数),使得前i个数相加的和小于m.问你对于每个i,最少需要删掉几个数字. 题解: 肯定是优先删大 ...

  6. ~/.bashrc的常用alias设置,30 个方便的 Bash shell 别名

    centos6.5/centos7系统中,alias定义在/etc/bashrc,分别写在/etc/profile.d/*.sh中,可以在此目录添加my.sh,或者~/.bashrc,或者~/.bas ...

  7. 一次bug死磕经历之Hbase堆内存小导致regionserver频繁挂掉

    环境如下: Centos6.5 Apache Hadoop2.7.1 Apache Hbase0.98.12 Apache Zookeeper3.4.6 JDK1.7 Ant1.9.5 Maven3. ...

  8. 《Practices of an Agile Developer:Woring in the Real World》读书笔记 PB16110698(~3.22)第三周

    <Practices of an Agile Developer:Woring in the Real World>读书笔记  本周我阅读了<高效程序员的45个习惯:敏捷开发修炼之道 ...

  9. JAVA-第一课 环境的配置

    首先 我们需要 下载java的开发工具包 jdk  jdk 的下载地址::http://www.oracle.com/technetwork/java/javase/downloads/index.h ...

  10. git归纳总结

    1,git 是分布式版本控制:单个电脑就是一个完整的版本库,只需向中央服务器(远程服务器)提交修改的部分.在没有网络情况下也能正常想本机服务器提交代码管理版本,有网时再推送到远程服务器.   svn是 ...