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

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

334da4ed1c0c4d6caed1cafffa6c4e2d.png

一、下载安装与引用

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 Workbook
from 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 = font
ws.cell(row=2, column=2).fill = fill
# 保存工作簿
wb.save('example.xlsx')

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

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

相关文章
|
6月前
|
Python
使用Python的openpyxl库
【5月更文挑战第17天】使用Python的openpyxl库
71 2
|
6月前
|
JSON JavaScript 前端开发
Python中使用JsonPath:概念、使用方法与案例
Python中使用JsonPath:概念、使用方法与案例
276 0
|
3月前
|
前端开发 Python
使用Python+openpyxl实现导出自定义样式的Excel文件
本文介绍了如何使用Python的openpyxl库导出具有自定义样式的Excel文件,包括设置字体、对齐方式、行列宽高、边框和填充等样式,并提供了完整的示例代码和运行效果截图。
126 1
使用Python+openpyxl实现导出自定义样式的Excel文件
|
4月前
|
开发者 Python
Python函数与模块使用方法
【7月更文挑战第24天】Python 是一种功能强大的编程语言,拥有丰富的函数和模块,使得开发者能够轻松地构建复杂的应用程序。本文将介绍 Python 中函数和模块的基本使用方法,并提供一些代码实例。
47 3
|
3月前
|
索引 Python
Python openpyxl使用教程
Python openpyxl使用教程
55 0
|
3月前
|
Python
Python openpyxl 将 Excel中的汉字 转换成拼音首字母
Python openpyxl 将 Excel中的汉字 转换成拼音首字母
50 0
|
4月前
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
|
5月前
|
定位技术 Python
Python的try、except异常处理模块使用方法
所以,我们就解决了由于可能具有的arcpy.ExecuteError异常而导致的程序中断问题;大家在实际使用时,按照自己程序中可能出现的报错类,对本文出现的arcpy.ExecuteError异常类加以修改即可。
|
5月前
|
API Python
Python库`openpyxl`是一个用于读取和写入Excel 2010 xlsx/xlsm/xltx/xltm文件的库。
【6月更文挑战第19天】`openpyxl`是Python处理xlsx文件的库,支持读写Excel 2010格式。使用`pip install openpyxl`安装。基本操作包括加载文件、读写单元格、操作行和列。例如,加载Excel后,可以读取单元格`A1`的值,或将“Hello, World!”写入`A1`。还可修改单元格内容,如加1后保存到新文件。更多功能,如样式和公式,见官方文档[1]。 [1]: <https://openpyxl.readthedocs.io/en/stable/>
79 1
|
4月前
|
安全 Java 开发者
Python中的多线程高级使用方法
**Python多线程高级指南摘要** 本文探讨了Python中多线程的高级技术,尽管GIL限制了并行执行,但多线程仍适用于IO密集型任务和提升UI响应。内容包括: - 使用`threading`模块导入和创建线程,示例展示了如何启动多个线程执行函数。 - 高级用法涉及线程池,通过`ThreadPoolExecutor`管理线程,简化大量线程的创建和控制。 - 线程同步:介绍锁和条件变量的概念,以及如何使用它们确保数据一致性。 - 避免死锁的策略,如使用`try/finally`确保锁的正确释放 - 线程局部数据(Thread Local Data)允许每个线程拥有独立的数据副本,避免冲突