如何解决无法通过网状在 R 中运行 Pandas:找不到 lxml
我正在尝试通过 reticulate
从 RStudio 中(在 Rmarkdown 中)抓取 Python 中的 wiki 表。我无法用 R 做到这一点(尝试 rvest
但列最终未对齐,我无法弄清楚确切原因)这就是我使用 Python 的原因:我有一个 {{1} } Conda env 并安装了 r-reticulate
和 BeautifulSoup
。
我编写的代码在运行 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 举报,一经查实,本站将立刻删除。