- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法找到解决方案来分割我使用 beautifulsoup 抓取的“div”中包含的时间段和路线。下面是我从交互式 shell 中获得的文本。我需要将“通过 I-405/I-65/I-525”和“8 分钟”分开。 46 秒。然后我需要去掉“分钟”和“秒”,这样我就可以组合得到“8.46”。我猜我需要将 split 与正则表达式一起使用?有人可以给我一个这样的例子吗?谢谢。
这是我从网页上抓取的内容:
<div class="coloredodd" id="odContent">
<b>via I-405/I-65/I-525</b>
<br></br>
58 min. 8 sec.
<br></br>
</div>
这是我从 shell 运行的内容:
>>> soup.find_all('div')[16].get_text()
'via I-405/I-65/I-5258 min. 46 sec.'
这是我试图用字典做的事情:
LinkNames[1] = TempLinkNames[7]
LinkNames[2] = TempLinkNames[8]
LinkNames[3] = TempLinkNames[9]
LinkNames[4] = TempLinkNames[4]
LinkNames[5] = TempLinkNames[2]
LinkNames[6] = TempLinkNames[5]
LinkNames[7] = TempLinkNames[3]
LinkNames[8] = TempLinkNames[0]
LinkNames[9] = TempLinkNames[1]
print(LinkNames)
这是字典的第一项:
{'At BTI Road via Ocean Expy (I-525)': '32.48',
以下是我如何解决这个问题,首先将键和值放入列表中,然后手动将其分配给字典。
BWPLinkNames = {BWPCombineNames[6]: BWPSingLinkTime[6],
BWPCombineNames[7]: BWPSingLinkTime[7],
BWPCombineNames[8]: BWPSingLinkTime[8],
BWPCombineNames[9]: BWPSingLinkTime[9],
BWPCombineNames[4]: BWPSingLinkTime[4],
BWPCombineNames[2]: BWPSingLinkTime[2],
BWPCombineNames[5]: BWPSingLinkTime[5],
BWPCombineNames[3]: BWPSingLinkTime[3],
BWPCombineNames[0]: BWPSingLinkTime[0],
BWPCombineNames[1]: BWPSingLinkTime[1]}
将字典项目输出到电子表格时遇到问题。该值为浮点字符串“23.25”。但在电子表格上,它显示不正确并出现错误。它只显示为一位数字,并且该数字与实际的浮点字符串无关。使用 Excel 的 xlsxwriter,这是我输出它们的方式。
for key in BWLinkNames.keys():
worksheet.write(row, col, key)
for value in BWLinkNames[key]:
worksheet.write(row, col + 1, value)
row+= 1
workbook.close()
最佳答案
您可以使用re.findall
:
import re
s = 'via I-405/I-65/I-5258 min. 46 sec.'
[timestamp] = re.findall('\d{1}\smin\.\s\d+\ssec', s)
final_result = '.'.join(re.findall('\d+', timestamp))
输出:
'8.46'
编辑:您可以使用BeautifulSoup
找到目的地,然后使用str.replace
:
from bs4 import BeautifulSoup as soup
import re
s = """
<div class="coloredodd" id="odContent">
<b>via I-405/I-65/I-525</b>
<br></br>
58 min. 8 sec.
<br></br>
</div>
"""
destination = soup(s, 'html.parser').find('b').text
timestamp = '.'.join(re.findall('\d+', soup(s, 'html.parser').find('div').text.replace(destination, '')))
输出:
'via I-405/I-65/I-525'
'58.8'
编辑:不要迭代 BWLinkNames[key]
,而是简单地利用 BWLinkNames[key]
:
for i, key in enumerate(BWLinkNames):
worksheet.write(i, col, key)
worksheet.write(i, col + 1, BWLinkNames[key])
workbook.close()
关于python - 使用正则表达式分割beautifulsoup对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50684882/
我有一个加号/减号按钮,希望用户不能选择超过 20 个但不知道如何让它工作。我尝试使用 min="1"max="5 属性,但它们不起作用。这是我的代码和一个 fiddle 链接。https://jsf
我正在尝试复制顶部底部图,如示例 here但它没有正确渲染(紫色系列有 +ve 和 -ve 值,绿色为负值)留下杂乱的人工制品。我也在努力创建一个玩具示例来复制这个问题,所以我希望尽管我缺乏数据,但有
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 6 年前。 社区去年审查了是
这个问题在这里已经有了答案: Adding two positive integers gives negative answer.Why? (4 个答案) 关闭 5 年前。 我遇到了一个奇怪的问题
有谁知道如何将字符串值类型 -4,5 或 5,4 转换为 double -4.5 或 5.4? 最佳答案 只需使用 Double.parseDouble(Locale, String); 糟糕,我很困
我正在尝试根据 TextBlob 分类插入一个仅包含“正”或“负”字符串的新数据框列:对于我的 df 的第一行,结果是 ( pos , 0.75, 0.2499999999999997)我想要' 正
我对 VBA 非常陌生,无法理解如何在一个循环中完成 2 个任务。我非常感谢您的帮助。 我已经能够根据第 3 列中的数据更改第 2 列中的数值,但我不明白如何将负值的字体更改为红色。 表格的大小每月都
欢迎, 我正在使用 jquery 通过 POST 发送表单。 这就是我获得值(value)的方式。 var mytext = $("#textareaid").val(); var dataStrin
double d = 0; // random decimal value with it's integral part within the range of Int32 and always p
我有这个字符串: var a='abc123#xyz123'; 我想构建 2 个正则表达式替换函数: 1) 用 '*' 替换所有确实有 future '#'的字符(不包括'#') 所以结果应该是这样的
我正在使用 DialogFragment。当用户从 Gmail 平板电脑应用程序的屏幕与下面示例图片中的编辑文本进行交互时,我希望正面和负面按钮保持在键盘上方。 在我的尝试中不起作用,这是我的 Dia
从组装艺术一书中,我复制了这句话: In the two’s complement system, the H.O. bit of a number is a sign bit. If the H.O
是否有更好更优雅的方法来实现下面的简单代码(diffYear、A 和 B 是数字): diffYear = yearA - yearB; if (diffYear == 0) { A = B
我正在设计一种语言,并尝试确定 true 应该是 0x01 还是 0xFF。显然,所有非零值都将转换为 true,但我正在尝试确定确切的内部表示。 每种选择的优点和缺点是什么? 最佳答案 没关系,只要
在我的 dialogfragment 类的 OnCreateDialog 中,我正在这样做: AlertDialog.Builder builder = new AlertDialog.Builder
这个问题在这里已经有了答案: Resolving ambiguous overload on function pointer and std::function for a lambda usin
我偶然发现了一个奇怪的 NSDecimalNumber 行为:对于某些值,调用 integerValue、longValue、longLongValue 等,返回意想不到的值(value)。示例: l
这个问题在这里已经有了答案: Resolving ambiguous overload on function pointer and std::function for a lambda using
我有这个正则表达式来测试用户输入是否有效: value.length === 0 || value === '-' || (!isNaN(parseFloat(value)) && /^-?\d+\.
我想用高斯混合模型拟合数据集,数据集包含大约 120k 个样本,每个样本有大约 130 个维度。当我使用 matlab 执行此操作时,我运行脚本(簇号为 1000): gm = fitgmdist(d
我是一名优秀的程序员,十分优秀!