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)