python - 如何在不舍入整数值的情况下抓取网站表?
问题描述
我正在从德国网站上抓取表格。德国人使用逗号(,)作为小数(。)和小数点作为逗号。当我抓取表格时,它会自动舍入或转换数据。例如,如果值是“两千”,德语写为 2.000。BS4 将其转换为两 (2)
有什么解决方案可以让我在不更改值的情况下进行刮擦吗?
这是我的代码。
import requests
import pandas as pd
url = "https://buchholz-stadtwerke.de/wasseranalyse.html"
df = pd.read_html(requests.get(url).text, flavor="bs4")
df = pd.concat(df)
解决方案
对于此示例,您可能需要替换,
为.
以获得正确的十进制数字表示:
import requests
import pandas as pd
url = "https://buchholz-stadtwerke.de/wasseranalyse.html"
df = pd.read_html(requests.get(url).text.replace(",", "."), flavor="bs4")
df = pd.concat(df)
print(df)
输出:
1 Leitfähigkeit (25°) µS/cm 2790 302
2 Sauerstoff (elektrochem.) mg/l NaN 10.9
3 pH-Wert NaN 6.5 bis 9.5 8.06
...
编辑:
由于这可能仅适用于此示例,因此更好的方法是使用传入的thousands=
参数decimal=
pd.read_html()
推荐阅读
- javascript - how to implement HOVER behavior in Matter.js?
- php - 将数字向下舍入到最接近的 50000 - 输入范围
- scala - akka-http 如何让浏览器生成认证窗口?
- javascript - 我是否正确使用了 htmlspecialchars?
- ssl - DBeaver SSL 已禁用
- laravel-5.7 - 找不到类控制器中的方法:BadMethodCallException
- .htaccess - nuxt ssr .htaccess .htpasswd
- c# - 如何使用 SVG 在 Winforms 中创建 2D 线条
- r - 如果在一个人输入样本之前允许 NA,我如何删除包含 NA 的行?
- python - 构建 RealSense Python 包装器时出现 CMake 错误:无法为目标“PRIVATE”指定源