首页 > 其他分享 >openpyxl utils 模块

openpyxl utils 模块

时间:2024-05-22 09:07:44浏览次数:18  
标签:index wb openpyxl column utils 模块 letter print string

utils 模块说明

openpyxl.utils 模块提供了一些有用的工具来处理 Excel 表格中的行号和列号的转换。

column_index_from_string()

column_index_from_string(): 用于将 Excel 列字母转换为列索引。
column_index_from_string(col_str):
   col_str (str): 列字母字符串,例如 'A', 'B', ..., 'Z', 'AA', 等等。这个参数是大小写不敏感的。将一个 Excel 的列字母(例如 "A", "B", ..., "Z", "AA", 等等)转换为对应的整数型列索引(从 1 开始计数)。
返回值: 返回值是一个整数类型,表示列的索引,从 1 开始计数。 
   
from openpyxl import Workbook
from openpyxl.utils.cell import column_index_from_string, get_column_letter

# 创建一个新的Excel工作簿
wb = Workbook()

# 获取第一个工作表
worksheet = wb.active

# 将列字母转换为列索引
index_A = column_index_from_string('A')  # 返回 1
index_B = column_index_from_string('B')  # 返回 2
index_Z = column_index_from_string('Z')  # 返回 26
index_AA = column_index_from_string('AA')  # 返回 27
index_AB = column_index_from_string('AB')  # 返回 28

print(index_A)  # 输出 1
print(index_B)  # 输出 2
print(index_Z)  # 输出 26
print(index_AA)  # 输出 27
print(index_AB)  # 输出 28

# 保存工作簿到指定的文件名
wb.save("execl_test.xlsx")

# 关闭工作簿
wb.close()

get_column_letter()

get_column_letter(): 用于将 Excel 列索引转换为列字母。

get_column_letter(col_idx): 将一个 Excel 的列索引(从 1 开始计数)转换为对应的列字母(例如 "A", "B", "Z", "AA", 等等)。
  col_idx (int): 列索引,必须是一个大于或等于 1 的整数。
  
返回值: 返回值是一个字符串类型,表示列的字母。
from openpyxl import Workbook
from openpyxl.utils.cell import column_index_from_string, get_column_letter

# 创建一个新的Excel工作簿
wb = Workbook()

# 获取第一个工作表
worksheet = wb.active

# 将列索引转换为列字母
letter_1 = get_column_letter(1)  # 返回 'A'
letter_2 = get_column_letter(2)  # 返回 'B'
letter_26 = get_column_letter(26)  # 返回 'Z'
letter_27 = get_column_letter(27)  # 返回 'AA'
letter_28 = get_column_letter(28)  # 返回 'AB'

print(letter_1)  # 输出 'A'
print(letter_2)  # 输出 'B'
print(letter_26)  # 输出 'Z'
print(letter_27)  # 输出 'AA'
print(letter_28)  # 输出 'AB'

# 保存工作簿到指定的文件名
wb.save("execl_test.xlsx")

# 关闭工作簿
wb.close()

coordinate_from_string()

coordinate_from_string(cell_str): 用于将一个 Excel 的单元格地址(例如 "A1", "B2" 等)拆分为列字母和行编号。

coordinate_from_string(cell_str): 将一个 Excel 的单元格地址字符串(例如 "A1", "B2", "AA10" 等)解析为对应的列字母和行编号。
  cell_str (str): 单元格地址字符串,例如 "A1", "B2", "AA10" 等。
  
返回值: 返回值是一个元组 (col_str, row_idx)。 
  col_str 是表示列字母的字符串。
  row_idx 是表示行编号的整数。
from openpyxl import Workbook
from openpyxl.utils.cell import coordinate_from_string

# 创建一个新的Excel工作簿
wb = Workbook()

# 获取第一个工作表
worksheet = wb.active

# 将单元格地址解析为列字母和行编号
col_A, row_1 = coordinate_from_string('A1')  # 返回 ('A', 1)
col_B, row_2 = coordinate_from_string('B2')  # 返回 ('B', 2)
col_AA, row_10 = coordinate_from_string('AA10')  # 返回 ('AA', 10)

print(col_A, row_1)  # 输出 ('A', 1)
print(col_B, row_2)  # 输出 ('B', 2)
print(col_AA, row_10)  # 输出 ('AA', 10)

# 保存工作簿到指定的文件名
wb.save("execl_test.xlsx")

# 关闭工作簿
wb.close()

range_boundaries()

range_boundaries():用于解析 Excel 的单元格范围字符串,并返回代表该范围的起始和结束行和列的边界。

range_boundaries(range_string):将一个 Excel 的单元格范围字符串(例如 "A1:D4", "B2:E5" 等)解析为对应的起始列、起始行、结束列和结束行的边界值。
  range_string (str): 单元格范围字符串,例如 "A1:D4", "B2:E5", 等。

返回值:返回值是一个元组 (min_col, min_row, max_col, max_row)
  min_col 是起始列的索引(整数类型)。
  min_row 是起始行的索引(整数类型)。
  max_col 是结束列的索引(整数类型)。
  max_row 是结束行的索引(整数类型)。
from openpyxl import Workbook
from openpyxl.utils.cell import range_boundaries

# 创建一个新的Excel工作簿
wb = Workbook()

# 获取第一个工作表
worksheet = wb.active

# 解析单元格范围字符串
range1 = range_boundaries('A1:D4')  # 返回 (1, 1, 4, 4)
range2 = range_boundaries('B2:E5')  # 返回 (2, 2, 5, 5)
range3 = range_boundaries('AA10:AC20')  # 返回 (27, 10, 29, 20)

print(range1)  # 输出 (1, 1, 4, 4)
print(range2)  # 输出 (2, 2, 5, 5)
print(range3)  # 输出 (27, 10, 29, 20)

# 保存工作簿到指定的文件名
wb.save("execl_test.xlsx")

# 关闭工作簿
wb.close()

标签:index,wb,openpyxl,column,utils,模块,letter,print,string
From: https://www.cnblogs.com/wangguishe/p/18197553

相关文章

  • react eslint import { useUserStore } from "@/stores/user"; 找不到模块“@/stores/
    报错解释:这个报错通常意味着React项目中的ESLint配置不能正确识别@别名指向的目录。在JavaScript模块中,通常使用@作为特定包的别名,例如@/stores/user可能是一个指向特定stores/user模块的别名。ESLint用于代码质量和代码风格的检查,当它不能正确解析这个别名时,就会报出“找不到模......
  • power 740 连接远程管理模块
     https://111.111.111.111/ Theconnectionforthissiteisnotsecure111.111.111.111 usesanunsupportedprotocol.Try:Searchthewebfor111.111.111.111ERR_SSL_VERSION_OR_CIPHER_MISMATCH Edge浏览器:   https://blog.csdn.net/weix......
  • BOSHIDA AC/DC电源模块的基本原理与应用
    BOSHIDAAC/DC电源模块的基本原理与应用AC/DC电源模块是一种将交流电转换为直流电的电子设备,它广泛应用于电子设备、电信设备、工控设备以及家电等领域。本文将介绍AC/DC电源模块的基本原理和应用。 AC/DC电源模块的基本原理是通过整流、滤波和稳压等过程将输入的交流电转换......
  • openpyxl styles 模块
    styles模块说明styles模块提供了许多用于设置和控制单元格样式的类和方法。这些类和方法可以帮助你定制Excel工作表中单元格的外观,包括字体样式、边框、填充颜色等。styles模块主要功能Font(字体):Font类用于定义和修改单元格中文本的字体样式,如字体名称、大小、颜色、粗体......
  • openpyxl Worksheet
    worksheet说明Worksheet代表一个Excel工作表。worksheet初始化fromopenpyxlimportWorkbook#创建一个新的Excel工作簿wb=Workbook()#获取第一个工作表worksheet=wb.active#保存工作簿到指定的文件名wb.save("execl_test.xlsx")#关闭工作簿wb.close(......
  • ESP8266串口WiFi模块 - WiFi杀手
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`ESP8266串口WiFi模块-WiFi杀手日期:2020-2-3阿珏折腾代码浏览:2635次评论:21条前段时间买了个ESP8266,准备拿来耍耍。实际吃灰数月,然后就拖到......
  • BOSHIDA 了解AC/DC电源模块的工作原理及性能
    BOSHIDA了解AC/DC电源模块的工作原理及性能AC/DC电源模块是将交流电转换为直流电的设备,广泛应用于各种电子设备中。它的工作原理及性能对于保证设备的正常运行至关重要。 首先,AC/DC电源模块的工作原理是基于电力电子的原理,利用半导体器件如整流器、滤波器和调整器等将交流电......
  • 什么是模块化,为什么要模块化
    1.模块化就是将复杂的系统或功能拆分成多个相对独立、功能单一的模块。2.优点:这样做可以简化开发、提高代码复用性、降低维护成本,并提升整个系统的可扩展性和可维护性。每个模块负责完成特定的功能,通过接口与其他模块进行交互,从而实现整个系统的功能。模块化是指解决一个复杂问......
  • 【Nginx】开启SSI模块支持include文件引入
    SSI是ServerSideInclude的首字母缩略词。包含有嵌入式服务器方包含命令的HTML文本。在被传送给浏览器之前,服务器会对SHTML文档进行完全地读取、分析以及修改。在Nginx中,开启SSI支持非常简单,通过向nginx.conf中添加几行设置命令即可实现。将下面的3行代码添加到ngi......
  • Invalid URI at UnityEngineInternal.WebRequestUtils.MakeInitialUrl (System.Stri
    问题背景:有一个项目用到3d模型,原来访问地址用的是域名,访问老是报跨域问题,于是换成了内网地址这么一换问题来了,控制台直接报错 FormatException:InvalidURIatUnityEngineInternal.WebRequestUtils.MakeInitialUrl(System.StringtargetUrl,System.StringlocalUrl)[0......