在Python中将字符串转换为整数

问题描述 投票:0回答:1

我正在尝试编写一个程序,从团队出勤报告中提取并组合用户的出勤时间。然而,出勤报告将时间保存为字符串。例如“4小时10米”。如何将这些值转换为整数以便我可以将它们用于数学运算?

我从电子表格中提取单元格的值并将其分配给变量“时间”。然后我用了int(time)。我认为这行不通,但不知道还能尝试什么。我收到以下错误: ValueError:基数为 10 的 int() 的文字无效:'4h 15m'

python openpyxl
1个回答
0
投票

一种解决方案是使用正则表达式来解析变量:

time = '4h 10m'

import re
PATTERN = r'^(?P<hours>\d+)h\s(?P<minutes>\d+)m$'

hours = int(re.match(PATTERN, time).group('hours')) # 4
minutes = int(re.match(PATTERN, time).group('minutes')) # 10

正则表达式101

根据您需要执行此操作的规模,这可能不是其他方法的最佳选择/比其他方法更慢。

© www.soinside.com 2019 - 2024. All rights reserved.