Как мне поступить с пандами, которые не могут прочитать тип WindowsPath из pathlib? - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь прочитать файлы .html в pd.read_html (). Однако каждый файл .html находится в отдельном каталоге. Поэтому я перебрал каждый каталог и поместил path/name + html_file_name в список с именем html_paths. Я хочу перебрать этот список и прочитать каждый файл .html в html_paths с помощью pd.read_html ()

Я пытался перебрать html_paths следующим образом:

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

Я также попытался создать исходные пути html_path, которые я настроил с помощью этого:

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()

1 Ответ

1 голос
/ 28 марта 2019

Ваш html_paths список содержит объекты Path, а не строки, как ожидалось read_html.Попробуйте преобразовать его в строку:

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