ICode9

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

openpyx模块使用

2021-09-23 22:04:29  阅读:267  来源: 互联网

标签:文件 wb2 openpyxl wb1 eg openpyx 模块 使用 wb


openpyxl使用

  • openpyxl的相关知识
  • openpyxl的使用

openpyxl的相关知识

1.excel文件的后缀

  03版本之前:.xls

  03版本之后:.xlsx

2.pycharm中操作excel的模块

  openpyxl模块

    该模块可以操作03版本之后的文件

    03版本之前兼容性可能不好(不建议使用)

  xlrd、wlwt模块

    xlrd控制读文件 wlwt控制写文件

    上诉模块可以操作任何版本的execl文件

3.excel本质斌不是一个文件

  修改execl文件后缀为.zip即可查看,可以看见excel表格也是会从网络获取数据,.xml为网络文件后缀

 

 

openpyxl的使用

openpyxl的下载

方法1:

  打开DOS界面下载,或pycharm的terminal界面输入

# -i用于换源地址,如果网速快则不用换
pip3 install openpyxl -i 网络地址 

方法2:

点击file>>>settings>>>项目名>>>interperter>>>加号>>>输入模块名>>>install

 创建文件

'''
执行程序时对象xlsx文件必须关闭,否则报错
'''

调用模块

from openpyxl import Workbook

创建一个对象

wb = Workbook()

保存文件

语法:

# 要在所有该对象的操作程序之后运行,否则操作无效
对象.save(r'名.xlsx')

eg:

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

创建工作簿

语法:

变量名=对象.create_sheet('名字',位置数)

eg:

# 创建名为2的工作簿
wb1=wb.create_sheet('2')

# 创建名为3的工作簿在第一位
wb2=wb.create_sheet('3',0)

 

 create_sheet方法会返回当前创建的工作簿对象

eg:

wb2.title='4'

 

 修改工作簿名称样式

eg:

# 修改背景颜色
wb2.sheet_properties.tabColor='1072BA'

 

 查看当前excel文件所有的工作簿名称

eg:

# 查看当前excel文件所有的工作簿名称
print(wb.sheetnames)

写文件

写入方式1:

eg:

# 创建名为3的工作簿在第一位
wb2=wb.create_sheet('3',0)
# 在3工作簿中的1行A列中写入值
wb2['A1']=111

写入方法2:

eg:

# 在3工作簿中的1列3行中写入值
wb2.cell(column=1,row=3,value=333)

写入方法3:

eg:

# 存储一行数据
wb2.append([1,2,3,4,5])
# 插入第二行数据
wb2.append([6,7,8,9,10])

 

'''
append是逐行录入数据
'''

写入计算公式

# A3单元格为A1加A2值
wb2['A3']='=sum(A1:A2)'

读数据

调用读模块

from openpyxl import load_workbook

指定读取表格文件

语法:

变量名 =load_workbook(地址,data_only=True)
"""
如果在读取数据的时候不想获取公式本身而是公式的结果需要指定data_only参数
"""

eg:

# 读取2.xlsx文件
wb =load_workbook(r'2.xlsx',data_only=True)

指定操作的工作簿

语法:

变量名 = 对象[簿名]

eg:

# 指定工作簿3
wb1 = wb['3']

读取数据方式1

# 获取数据和公式或公式
wb3['A3'].value

eg:

# 获取A3单元格数据,为7
print(wb1['A3'].value)

 

 当没有data_only参数时,输出为公式

 

读取数据方式2:

# 输出第一行,第二列数据
print(wb1.cell(row=1,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)

获取最大列数

print(wb1.max_column)

返回目录

标签:文件,wb2,openpyxl,wb1,eg,openpyx,模块,使用,wb
来源: https://www.cnblogs.com/20wod/p/15325285.html

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

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

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

ICode9版权所有