文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【python】关于openpyxl的基本使用方法-看这篇就够了

2023-09-06 18:35

关注

目录

​编辑

一、下载安装与引用

二、创建工作簿并写入数据

创建工作簿

创建工作表

写入数据

保存数据

三、读取表格并查找数据

读取表格

读取指定工作表

重命名指定工作表

获取单元格数据

四、其他操作 

多个工作表之间的切换

处理行和列

格式化单元格

修改工作表标题背景 

 设置单元格颜色和字体


一、下载安装与引用

pip install openpyxl

import openpyxl

二、创建工作簿并写入数据

创建工作簿

wb= openpyxl.Workbook()

创建工作表

# 创建目录ws = wb.create_sheet(title, index) 

参数定义:

title:工作表的名称

index:新生成的工作表放在那个位置上

        不填写:默认将新工作表插入到工作簿的最后一个位置

        0:表示将新工作表插入到工作簿的第一个位置

        1:表示将新工作表插入到工作簿的第二个位置

        -1:表示将新工作表插入到工作簿的倒数第二个位置

写入数据

#方法一:ws.cell(row, column, values)#方法二:ws.cell(row,column).value=values#方法三:ws['J1']=values
参数定义:

row:工作表的行号,第一行从1开始

column:工作表的列号,第一列从1开始

values:要写入单元格的数据

J1:第J列,第1行

保存数据

wb.save(filename)

其中:filename为要保存成为的文件名,如果文件名带有路径,则文件会保存在对应的路径下

三、读取表格并查找数据

读取表格

wb=openpyxl.load_workbook(filename)

 filemane:可以为文件名,也可以是所对应路径的文件地址

读取指定工作表

ws=wb[sheetname]

重命名指定工作表

ws.title=New_sheetname

获取单元格数据

#方法一:val=ws.cell(row,column).value#方法二:cell_value = ws['A1'].value#方法三:ws = wb['用户工作表']    for row in ws.rows:  # 获取每一行的数据        for data in row:  # 获取每一行中单元格的数据            print(data.value)  # 打印单元格的值

 获取第row行,第column列的数据赋值给变量val

四、其他操作 

多个工作表之间的切换

如果有多个工作表,之前如何相互切换 :比如有工作表sheet1、sheet2

打开工作簿默认激活的是第一个工作表sheet1,可以不用设置激活状态了;

但是当你想切换到第二个工作表sheet2;对sheet2里的数据进行操作,则

ws2=wb[sheet2name]wb.active = ws2

处理行和列

  • 迭代行:for row in ws.iter_rows(min_row=1, min_col=1, max_row=10, max_col=3):
  • 迭代列:for col in ws.iter_cols(min_row=1, min_col=1, max_row=10, max_col=3):
  • 插入行:ws.insert_rows(idx=2, amount=1)
    • ​​​​​ws: 要插入行的工作表
    • idx: 要在哪个位置插入新行,该值为行索引(从1开始)
      • 在第一行前面插入,则idx=1
      • 在第一行后面插入,则idx=2
      • 在第二行后面插入,则idx=3
    • amount: 要插入的行数
  • 删除行:ws.delete_rows(idx=2, amount=1)
    • idx: 要删除的第一行的索引(从1开始)。
    • amount: 要删除的行数。
  • 插入列:ws.insert_cols(idx=2, amount=1)
  • 删除列:ws.delete_cols(idx=2, amount=1)

格式化单元格

  • 设置单元格格式:ws['A1'].number_format = '0.00%'
  • 设置单元格字体:ws['A1'].font = Font(size=12, bold=True)
  • 设置单元格边框:ws['A1'].border = Border(left=Side(border_style='thin', color='FF000000'), right=Side(border_style='thin', color='FF000000'), top=Side(border_style='thin', color='FF000000'), bottom=Side(border_style='thin', color='FF000000'))
  • 合并单元格:ws.merge_cells('A1:B2')
  • 拆分单元格:ws.unmerge_cells('A1:B2')

修改工作表标题背景 

from openpyxl import Workbook wb = Workbook()ws1 = wb.create_sheet('用户信息表', 0)ws1.sheet_properties.tabColor = 'FF6666'  # 将标题背景改为指定RRGGBB颜色代码'''用代码保存一下后,如下图所示'''

 设置单元格颜色和字体

from openpyxl import Workbookfrom openpyxl.styles import Font, Color, PatternFill, colors# 创建一个新工作簿wb = Workbook()# 获取活动工作表ws = wb.active# 设置第二行第二列单元格的值为“Hello World!”ws.cell(row=2, column=2).value = 'Hello World!'#font1 = Font(name="微软雅黑", size=20, bold=True, italic=True, color="FF0000")# name:字体类型,size:字体大小,bold:是否加粗,italic:是否斜体,color:字体颜色# 创建字体对象和填充对象font = Font(color=colors.RED, bold=True)fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')# 将字体和填充应用到单元格ws.cell(row=2, column=2).font = fontws.cell(row=2, column=2).fill = fill# 保存工作簿wb.save('example.xlsx')

在这个例子中,我们首先创建一个新工作簿并获取活动工作表。然后,我们将第二行第二列单元格的值设置为“Hello World!”。接着,我们创建了一个字体对象和一个填充对象,并将它们应用到单元格。最后,我们保存工作簿。

在这个例子中,我们将字体设置为粗体红色,将填充颜色设置为黄色

来源地址:https://blog.csdn.net/weixin_43569834/article/details/130719546

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯