Python 尝试处理ValueError时出现问题:找不到包含pandas的表?
我想从链接序列中的所有表中读取并创建一个数据帧。假设我有:Python 尝试处理ValueError时出现问题:找不到包含pandas的表?,python,python-3.x,pandas,append,Python,Python 3.x,Pandas,Append,我想从链接序列中的所有表中读取并创建一个数据帧。假设我有: list_links = ['url1.com', 'url2.com', 'url3.com',...,'urln.com'] 然后: 然而,我无法获取数据帧,没有发生任何事情: In: frame Out: In: print(frame) Out: 在一个表中添加每个链接中的所有表的正确方法是什么?。请注意,某些链接没有表。。。出于这个原因,我试着通过了。我也试过这个: import multiprocessing d
list_links = ['url1.com', 'url2.com', 'url3.com',...,'urln.com']
然后:
然而,我无法获取数据帧,没有发生任何事情:
In: frame
Out:
In: print(frame)
Out:
在一个表中添加每个链接中的所有表的正确方法是什么?。请注意,某些链接没有表。。。出于这个原因,我试着通过了。我也试过这个:
import multiprocessing
def process_url(url):
df_url = pd.read_html(url)
df = pd.concat(df_url, ignore_index=True)
return df_url
pool = multiprocessing.Pool(processes=4)
pool.map(process_url, lis)
import multiprocessing
def process_url(url):
df_url = pd.read_html(url)
df = pd.concat(df_url, ignore_index=True)
return df_url
pool = multiprocessing.Pool(processes=4)
try:
dfs_ = pool.map(process_url, lis)
except:
pass
然后:
而且什么也没发生。您并没有真正加入数据帧。如果您尝试以下方法:
df_list = []
for url in list_links:
try:
df = pd.read_html(url, index_col=None, header=0)
df_list.append(df)
except:
pass
df = pd.concat(df_list)
您没有实际加入数据帧。如果您尝试以下方法:
df_list = []
for url in list_links:
try:
df = pd.read_html(url, index_col=None, header=0)
df_list.append(df)
except:
pass
df = pd.concat(df_list)
感谢alex的帮助,我得到了以下信息:
TypeError:无法在-->9 df=pd.concat(df_list)
中连接非NDFrame对象。是否要堆叠它们:通过添加更多行来扩展列,还是通过添加更多列来扩展行。根据需要,可以尝试将轴参数设置为0或1。也请尝试我的新建议,再次感谢!。。。我尝试了这两种方法(在concat中),得到了相同的异常。第二种方法得到:ValueError:No tables found
I see,因此try-except方法更好,因为它避免了此错误。你必须对那个错误进行更多的调查。您可以尝试只连接一些数据帧,看看是否可以识别出有问题的数据帧。或者,您可以尝试使用join和merge数据帧方法。祝你好运。感谢alex的帮助,我得到了以下信息:TypeError:无法在--->9 df=pd.concat(df_list)
中连接非NDFrame对象。是否要堆叠它们:通过添加更多行来扩展列,还是通过添加更多列来扩展行。根据需要,可以尝试将轴参数设置为0或1。也请尝试我的新建议,再次感谢!。。。我尝试了这两种方法(在concat中),得到了相同的异常。第二种方法得到:ValueError:No tables found
I see,因此try-except方法更好,因为它避免了此错误。你必须对那个错误进行更多的调查。您可以尝试只连接一些数据帧,看看是否可以识别出有问题的数据帧。或者,您可以尝试使用join和merge数据帧方法。祝你好运。
df_list = []
for url in list_links:
try:
df = pd.read_html(url, index_col=None, header=0)
df_list.append(df)
except:
pass
df = pd.concat(df_list)