微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法通过网状在 R 中运行 Pandas:找不到 lxml

如何解决无法通过网状在 R 中运行 Pandas:找不到 lxml

我正在尝试通过 reticulate 从 RStudio 中(在 Rmarkdown 中)抓取 Python 中的 wiki 表。我无法用 R 做到这一点(尝试 rvest 但列最终未对齐,我无法弄清楚确切原因)这就是我使用 Python 的原因:我有一个 {{1} } Conda env 并安装了 r-reticulateBeautifulSoup

我编写的代码在运行 requests 内核的 Jupyter notebook 中完美运行。

但是,当我尝试在 RStudio 中运行它时,我收到一个 r-reticulate 提示 ImportError 未找到。这是不可能的,因为它就在那里,正如您在底部看到的 lxml(我的工作笔记本也证明了这一点)。

这是我的完整代码

conda list

这是最后一个块的错误输出

```{r libraries,include=FALSE}
library(reticulate)
use_condaenv("r-reticulate",required = TRUE)
```

```{python results="hide"}
import pandas as pd
import requests
from bs4 import BeautifulSoup
```

```{python}
url = "https://en.wikipedia.org/wiki/COVID-19_lockdowns"
req = requests.get(url)
soup = BeautifulSoup(req.text,"html.parser")
table = soup.find("table",{"class": "wikitable"})
dfs = pd.read_html(str(table))               # this is the line that generates the error
df = dfs[0]
df.head(20)
```

env 名称被截断 (ImportError: lxml not found,please install it Detailed traceback: File "<string>",line 1,in <module> File "C:\PROGRA~3\ANACON~1\envs\R-RETI~1\lib\site-packages\pandas\util\_decorators.py",line 299,in wrapper return func(*args,**kwargs) File "C:\PROGRA~3\ANACON~1\envs\R-RETI~1\lib\site-packages\pandas\io\html.py",line 1100,in read_html displayed_only=displayed_only,File "C:\PROGRA~3\ANACON~1\envs\R-RETI~1\lib\site-packages\pandas\io\html.py",line 889,in _parse parser = _parser_dispatch(flav) File "C:\PROGRA~3\ANACON~1\envs\R-RETI~1\lib\site-packages\pandas\io\html.py",line 846,in _parser_dispatch raise ImportError("lxml not found,please install it") ) 但我没有任何其他以该名称开头的 env,因此我确定它是正确的 env。 R-RETI~1 还表明它是正在使用的正确环境。我不明白发生了什么,或者哪个组件行为不正确(是否来自网状?)...

py_config()

python: C:/ProgramData/Anaconda3/envs/r-reticulate/python.exe libpython: C:/ProgramData/Anaconda3/envs/r-reticulate/python37.dll pythonhome: C:/ProgramData/Anaconda3/envs/r-reticulate version: 3.7.10 | packaged by conda-forge | (default,Feb 19 2021,15:37:01) [MSC v.1916 64 bit (AMD64)] Architecture: 64bit numpy: C:/ProgramData/Anaconda3/envs/r-reticulate/Lib/site-packages/numpy numpy_version: 1.20.1 NOTE: Python version was forced by use_python function 输出

conda list

编辑:由于未知的原因并且没有做任何事情,它现在可以工作了。我猜系统可能需要再重新启动一次...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。