regex= '<th scope="row" width="48%">52wk Range:</th><td class="yfnc_tabledata1"><span>(.+?)</span> - <span>(.+?)</span></td>'
pattern = re.compile(regex)
LBUB = re.findall(pattern,htmltext)
我正在尝试在Python中进行基本数据抓取,并对返回的实数进行一些计算。我已经展示了该程序的一些小摘录,因此您可以获得基本的想法。我想让它读取一个html文件并返回某些数字。 问题是实数是在像这样的字符串变量中返回的......
[('90.77', '134.54')]
我想从变量中提取数字,以便它们可以用作单独的float变量。 有没有人知道如何从字符串变量中提取两个实数,基本上摆脱了')],这是在Python 2.7.10中
答案 0 :(得分:1)
如果您正在获取数组,那么您可以使用Float()函数并将数组索引放入。例如:
StrFloats = [("90.77","134.54")]
FltNewNums = {}
IntInd = 0
for IntX in range(0,len(StrFloats)):
for IntY in range(0,len(StrFloats[IntX])):
FltNewNums[IntInd] = float(StrFloats[IntX][IntY])
IntInd += 1
然后你有一个数组中的float变量
我不得不做一些改变。忘了元组:/ 这应该工作:)
答案 1 :(得分:0)
这看起来像map
的工作list(map(lambda t: (float(t[0]), float(t[1])), LBUB))
为了避免在转换为浮动时出现TypeError,您可以使用更窄的捕获组。
类似的东西:
(\d+\.\d+)
无论如何,使用正则表达式解析HTML通常为not a good idea。