在另一个函数内调用函数时出错

时间:2018-07-13 11:35:07

标签: python-3.x pandas user-defined-functions python-newspaper

我有newspaper3k的功能,可以提取给定URL的摘要。给出为:-

def article_summary(row):
    url = row
    article = Article(url)
    article.download()
    article.parse()
    article.nlp()
    text = article.summary
    return text

我的熊猫数据框的列名为url

url
https://www.xyssss.com/dddd
https://www.sbkaksbk.com/shshshs
https://www.ascbackkkc.com/asbbs
............
............

还有另一个功能main_code(),它运行得非常好,并且我使用article_summary在其中。我想将两个功能article_summarymain_code()添加到一个功能{{1 }}。

这是我的代码:第一个功能为:-

final_code

这是第二个功能

def article_summary(row):
url = row
article = Article(url)
article.download()
article.parse()
article.nlp()
text = article.summary
return text

完成后:

def main_code():

article_data['article']=article_data['url'].apply(article_summary)
return article_data['articles']

但是def final_code(): article_summary() main_code() 没有提供任何显示为final_code()的输出

1 个答案:

答案 0 :(得分:0)

您使用的是那些实际网址吗?如果是这样,它们似乎导致了ArticleException,我用一些维基百科页面测试了您的代码,它可以工作。

关于这一点,您仅使用一个df吗?如果没有,最好将其作为变量传递给函数。

-----------------------------------注释后编辑--------- -------------------------------------------------- ----------- 我认为Python函数上的tutorial将是有益的。就是说,关于您的特定问题,以您描述的方式调用函数会使它运行两次,在这种情况下不需要这样做。如前所述,您应该将df作为参数传递给函数,这里是tutorial on global vs local variables以及如何使用它们。

您得到的错误是因为您应该将参数'row'传递给函数article_summary(请参阅函数教程)。