ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Openpyxl模块

2021-09-26 20:05:13  阅读:245  来源: 互联网

标签:wb wb1 excel 模块 print 数据 append Openpyxl


简介:

"""
1.excel文件的后缀名针对版本的不同 是不同的
  03版本之前: .xls
  03版本之后: .xlsx
2.在python能够操作excel表格的模块有很多
  openpyxl模块
    该模块可以操作03版本的之后的文件
    针对03版本之前的兼容性可能不太好
  xlrd、xlwt模块
    xlrd控制读文件 wlwt控制写文件
    该模块可以操作任何版本的excel文件
3.excel本质并不是一个文件
  修改excel文件后缀名至.zip即可查看
"""

# 下载第三方模块
  pip3 install openpyxl

 

创建文件:

"""在使用openpyxl模块操作excel文件的时候一定要确保文件是关闭状态"""

from openpyxl import Workbook

 

# 1.创建一个对象
wb = Workbook()

# 3.创建多个工作簿
wb1 = wb.create_sheet('学生表')
wb2 = wb.create_sheet('课程表')

# 4.还可以指定工作簿的顺序
w3 = wb.create_sheet('老师表', 0)

# 5.create_sheet方法会返回当前被创建的工作簿对象
w3.title = '教师表' # 工作簿名称支持二次修改
w3.sheet_properties.tabColor = "1072BA" # 修改工作簿名称样式
print(wb.sheetnames) # 查看当前excel文件所有的工作簿名称

# 2.保存文件
wb.save(r'1.xlsx')

 

如何写数据(重要):

from openpyxl import Workbook

wb = Workbook()
wb1 = wb.create_sheet('数据统计', 0)
# 写入数据方式1
# wb1['A1'] = 111
# wb1['A2'] = 222
# 写入数据方式2
# wb1.cell(column=1, row=3, value=333) # cell意思是单元格
# 写入数据方式3
wb1.append(['序号', '姓名', '年龄', '性别'])    # 定义表头数据
wb1.append([1, 'jason', 28, 'male'])    # 存储表单数据
wb1.append([2, 'tony', 38, 'female'])   # 存储表单数据
wb1.append([3, 'kevin', 28, 'male'])    # 存储表单数据
wb1.append([4, 'kevin1', 'male'])    # 存储表单数据
wb1.append([5, 'kevin2', 'female'])   # 存储表单数据
wb1.append([5, 'kevin2', '', 'female'])    # 存储表单数据
wb1.append([5, 'kevin2', 88, None])    # 存储表单数据
"""
append是按照行数一行行录入数据
"""

# 写入计算公式
wb1["A9"] = '=sum(A2:A8)'

wb.save(r'2.xlsx')

 

如何读数据:

from openpyxl import load_workbook

# 1.指定要读取的表格文件
wb = load_workbook(r'2.xlsx', data_only=True)
# 2.先查看工作簿名称 并指定你要操作的工作簿
# print(wb.sheetnames) # ['数据统计', 'Sheet']
# 3.指定操作的工作簿
wb1 = wb['数据统计'] # wb1指代的就是数据统计的工作簿

# 读取数据的方式1
# print(wb1['B2'].value) # 获取普通数据
# print(wb1['A9'].value) # 获取公式 =SUM(A2:A8)
"""
如果在读取数据的时候不想获取公式本身而是公式的结果需要指定data_only参数
wb = load_workbook(r'2.xlsx', data_only=True)
"""
# 读取数据的方式2
# print(wb1.cell(row=3, column=2).value)


# for row in wb1.rows:
# for r in row:
# print(r.value)

# for col in wb1.columns:
# for c in col:
# print(c.value)


# 获取最大的行数和列数
print(wb1.max_row) # 9
print(wb1.max_column) # 4

标签:wb,wb1,excel,模块,print,数据,append,Openpyxl
来源: https://www.cnblogs.com/yyyyuzc/p/15324674.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有