首页 > 解决方案 > 如何处理无法从 pathlib 读取类型“WindowsPath”的熊猫?

问题描述

我正在尝试将 .html 文件读入 pd.read_html()。但是,每个 .html 文件都位于不同的目录中。所以我遍历了每个目录并将path/name+html_file_name放在一个名为html_paths. 我想遍历这个列表并html_paths使用 pd.read_html()读取每个 .html 文件

我试图像这样迭代 html_paths:

for I in range(len(html_paths)):
     html_files = pd.read_html(html_paths[i])

我还尝试将我设置的原始 html_paths 全局化:

for I in path.glob('**/*.html'):
     html_files = pd.read_html(i)

我尝试以任何方式迭代我的路径库列表,我都会收到类似的错误TypeError: Cannot read object type 'WindowsPAth'

到目前为止,我已经写过:

# initialize path
p = Path('C:\path\to\mother\directory')

# iterate over all directories within mother directory
# glob all html files
html_paths = [file for file in p.glob('**/*.html')

现在我想遍历每个文件html_paths并将它们读入pd.read_html()

标签: pandastypeerrorpathlib

解决方案


您的html_paths列表包含 Path 对象,而不是read_html预期的字符串。尝试将其转换为字符串:

for I in range(len(html_paths)):
    html_files = pd.read_html(str(html_paths[I]))

推荐阅读