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