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. flutter setInitialRoute: 不生效

    概述 需要实现native跳转到flutter 指定的路由页面. iOS 工程中发现 FlutterViewController  setInitialRouter 无效,在我的需求里面是: 在iOS ...

  2. php 查看linux服务器的磁盘使用情况

  3. drupal7 代码生成用户,并自动登录

    直接上代码 1. 生成用户(注册) $edit = [ "name" => "name", "pass" => "pa ...

  4. MQTT--笔记

    一.MQTT协议基本介绍 1.1.MQTT是什么? MQTT,全称为Message Queue Telemetry Transport.在1999年,由IBM的Andy Stanford-Clark和 ...

  5. 【JZOJ6388】小w的作业

    description analysis 二分一个角度,首先假设该弧度角\(\theta \in[{\pi \over 2},\pi]\),要找的直线斜率\(k\in(-∞,\tan\theta]\) ...

  6. 组合数学——cf991E

    /* 如果有某一位,那么这一位必须存在 枚举所有情况,计算每种情况时0额外另算 */ #include<bits/stdc++.h> using namespace std; #defin ...

  7. ros-slam的链接

    http://wiki.ros.org/navigation/Tutorials/RobotSetup 稍后整理

  8. (转)Android 自定义标题栏(title栏)

    转:http://blog.csdn.net/jamin0107/article/details/6715678 第一步,向实现自定义标题栏,需要在onCreate方法里这样写 requestWind ...

  9. PAT甲级——A1115 Counting Nodes in a BST【30】

    A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...

  10. DNS配置-BIND安装配置全过程

    下载地址:ftp://ftp.isc.org/isc/ 下载bind,我下载的是bind-9.11.13.tar.gz 我下载的文件放在/root目录下进入目录解压缩 [root@localhost ...