你可以使用Python中的正则表达式(regex)来提取单元格中的数字,以下是一个示例代码,其中使用了re.findall方法来查找数字,并返回一个列表,列表的长度即为单元格中数字的数量:
import re
import openpyxl
# 打开Excel文件,获取工作簿对象和工作表对象
wb = openpyxl.load_workbook('example.xlsx')
ws = wb.active
# 遍历单元格,提取数字
for row in ws.iter_rows(min_row=1, min_col=1, max_row=ws.max_row, max_col=ws.max_column):
for cell in row:
# 使用正则表达式查找数字,返回一个列表
numbers = re.findall(r'\d+(?:\.\d+)?', cell.value)
# 打印单元格中的数字及其数量
print(f'单元格 {cell.coordinate} 中的数字为:{numbers},数量为:{len(numbers)}')
在这个示例中,我们使用re.findall方法来查找单元格中的数字,正则表达式\d+(?:.\d+)?表示匹配一组数字,可以包括小数点,其中\d+表示匹配一个或多个数字,.表示匹配小数点,\d+表示匹配小数点后的一个或多个数字,(?:.\d+)?表示这一组数字可以包括小数点,也可以不包括。