码迷,mamicode.com
首页 > 其他好文 > 详细

openpyxl的简单使用

时间:2019-02-22 21:29:24      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:class   安装   col   column   tuple   分配   手动   imp   pen   

openpyxl

  操作excel的库,只能操作xlxs 文件, xlrd/xlwt这两个库能兼容xls(2003版)

安装

pip install openpyxl
如果excel里面有图片,需要安装图片处理模块
pip install pillow

excel的写入

  创建一个工作簿并保存

技术图片
from openpyxl import Workbook
wb = Workbook()

ws1 = wb.create_sheet("Mysheet")  #默认最后一个
ws2 = wb.create_sheet("Mysheet", index=0) #第一个(工作簿位置)

# 保存
wb.save(sb.xlsx‘)
技术图片

  修改工作簿的名称

ws1.title = "New Title"

  获取所有工作簿的名称

print(wb.sheetnames)

  获取其中一个工作簿名称

for sheet in wb:
    print(sheet)
wb["New Title"]  #直接获取名称为New Title的工作薄

  写数据

ws[A4‘]=4 #这将返回A4处的单元格,如果尚不存在,则创建一个单元格。值可以直接分配
ws.cell(row=4, column=2, value=10) # 也可以通过cell来进行写入,通过行数和列数来找到单元格所在的位置,通过value来赋值

  append函数

row = [1 ,2, 3, 4, 5]
sheet.append(row)

excel的读取

技术图片
from openpyxl import load_workbook  #导入模块
wb = load_workbook(filename = balances.xlsx‘) #打开文件,默认可读写,若有需要可以指定write_only和read_only为True
sheet = wb[test2‘] #找到工作表
print(sheet[B4‘].value) #输出内容
# B9处写入平均值
sheet[B9‘] = =AVERAGE(B2:B8)

ps:在实例化wb对象时,添加参数data_only=True,返回的“B9”就是数字(但是需要将生成的excel手动保存一次)
技术图片

获取最大行,最大列

print(sheet.max_row)
print(sheet.max_column)

获取行和列

技术图片
sheet.rows为生成器, 里面是每一行的数据,每一行又由一个tuple包裹。
sheet.columns类似,不过里面是每个tuple是每一列的单元格。

# 因为按行,所以返回A1, B1, C1这样的顺序
for row in sheet.rows:
    for cell in row:
        print(cell.value)

# A1, A2, A3这样的顺序
for column in sheet.columns:
    for cell in column:
        print(cell.value)
技术图片

 

openpyxl的简单使用

标签:class   安装   col   column   tuple   分配   手动   imp   pen   

原文地址:https://www.cnblogs.com/zhangqing979797/p/10420619.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!