openpyxl笔记 重制版

参考资料:
# 官方文档
http://packages.python.org/openpyxl/api.html
# openpyxl 读写excel2007使用笔记
http://blog.csdn.net/hxsyewlink/article/details/6265790
 

注意,截止2016-02-01 openpyxl仍不支持读取表格和图像,所以如果打开又以同样的名称保存,表格和图像将会丢失。(不过似乎支持插
入图像)
所以,对于非纯文本数字格式的excel文档,还是读出数据再写一个新的吧(可以打开另存为嘛)。

# coding:utf-8

#### openpyxl主要内容:
## 1. 工作簿/工作表操作
## 1.1 新建工作簿/工作表
# 新建工作簿
from openpyxl import Workbook
wbook = Workbook()
# 新建工作表
# or 建立一个新工作表
wsheet_new = wbook.create_sheet()   #输入数字即为次序,例如0 则为最前
## 1.2 读取工作簿/工作表
# 读取工作簿
from openpyxl.reader.excel  import load_workbook
# load_workbook(filename, read_only=False, use_iterators=False, keep_vba=False, guess_types=False, data_only=False)
# 打开指定的文件名并返回一个Workbook对象
#
# 参数filename: 文件路径或者file-like object (string格式)
# 参数read_only: 是否只读
# 参数use_iterators: 是否读取单元格时是否使用lazy load,如果True,则工作表对象将成为class:`openpyxl.worksheet.iter_worksheet.IterableWorksheet`
# 参数keep_vba: 是否保留VBA对象 (这不代表你能使用它们)
# 参数guess_types: 是否猜测单元格的数据数据格式,而不从文件中读取它
# 参数data_only: 对于有公式计算的单元格,读取公式还是读取值
#
# 返回类型: class:`openpyxl.workbook.Workbook`

# 选取活动工作表
wsheet = wbook.active
# 按顺序选取工作表

# 按名字选取工作表
# 选取工作表名称里list
sheetNames = wbook.get_sheet_names()
# 选择第0个工作表
wsheet = wbook.get_sheet_by_name(sheetNames[0])
wsheet = wbook[sheetNames[0]]
# 工作表重命名
wsheet.title = 'Pi'

## 1.3 保存工作簿
from openpyxl.writer.excel import ExcelWriter
wb1=Workbook()#新建立一个工作簿wb1
ewb1=ExcelWriter(workbook=wb1)#新建一个ExcelWriter,用来写wb1
dest_filename=r'result.xlsx'#wb1的名字
ewb1.save(filename=dest_filename)#保存一定要有,否则不会有结果

## 2. 读写单元格(单个,list,公式)
## 2.0 选择行/列
wsheet.rows #是个list
wsheet.columns #也是个list
# 选中前两列
wsheet.columns[:2]
# 选中一个区域
wsheet['A1':'C20']
# 创建新列(通过给一列的每一个格赋值None)
alen = len(wsheet.columns[0])# A列
for i in range(1, alen + 1):
    wsheet.cell('C%s' % (i)).value = None


## 2.1 表示单元格的位置(行号,列字母转换为列号)
from  openpyxl.cell  import  get_column_letter
col_number = get_column_letter(3) #将第3列转换为C列
wsheet.cell('%s%s'%(col_number,3)).value = 3 # 等价于ws.cell('C3').value = 3

## 2.2 赋值
wsheet.cell('F5' ).value = 3.14
## 2.3 公式
wsheet["A1"] = "=SUM(1, 1)"
## 2.4 单元格数据类型
# python datetime格式
import datetime
wsheet['A1'] = datetime.datetime(2010, 7, 21)
wsheet['A1'].number_format

# 百分数格式
wsheet['B1'] = '3.14%'
wsheet['B1'].value

## 2.5 单元格格式设置
# 单元格合并merge/解除合并unmerge
wsheet.merge_cells('A1:B1')
wsheet.unmerge_cells('A1:B1')
wsheet.merge_cells(start_row=2,start_column=1,end_row=2,end_column=4)
wsheet.unmerge_cells(start_row=2,start_column=1,end_row=2,end_column=4)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值