我正在尝试导入一系列HTML文件,其中包含已保存在工作目录中的新闻报道。我使用一个HTML文件开发了代码,并且运行良好。但是,此后我修改了代码以导入多个文件。
从下面的代码中可以看到,我正在使用pandas和pd.read_html()。它不再导入任何文件,并给我错误代码“ ValueError:未找到表”。
我尝试使用不同类型的HTML文件,因此似乎并不是问题所在。我还更新了我正在使用的所有软件包。我正在Anaconda Navigator中使用OSX,Python 3.6和Pandas 0.20.3。
它正在工作,但现在没有。我究竟做错了什么?
任何提示或线索将不胜感激。
import pandas as pd
from os import listdir
from os.path import isfile, join, splitext
import os
mypath = 'path_to_my_wd'
raw_data = [f for f in listdir(mypath) if (isfile(join(mypath, f)) and splitext(f)[1]=='.html')]
news = pd.DataFrame()
for htmlfile in raw_data:
articles = pd.read_html(join(mypath, htmlfile), index_col=0) #reads file as html
data = pd.concat([art for art in articles if 'HD' in art.index.values],
axis=1).T.set_index('AN')
data_export = pd.DataFrame(data, columns=['AN', 'BY', 'SN', 'LP', 'TD'])
#selects columns to export
news = news.append(data_export)
答案 0 :(得分:1)
HTML文件的格式略有不同,我需要将sort=False
传递给pd.concat()
:data = pd.concat([art for art in articles if 'HD' in art.index.values], sort=False, axis=1).T.set_index('AN')
这是Pandas 0.23.0版的新功能。那解决了问题。