gpt4 book ai didi

python - 如果出现被零除的如何通过

转载 作者:行者123 更新时间:2023-12-03 09:07:32 25 4
gpt4 key购买 nike

我有一个很长的功能来执行NLTK任务,该任务还可以计算sum(adj)/len(words)等几件事的比率。
有时,单词为零可能会导致错误。我用这样的东西尝试了

def nltk_process(dict_bp):
try:
#do all the stuff and then calculate several ratios
verhaeltnis_adj_verb = "Verhältnis ADJ/VERB: " + str(dict.get('ADJ')/dict.get('VERB')) # just an example where sometimes it devides by zero
except:
pass
我在一个大的for循环中使用该函数在大约800个MySQL表上执行此操作。如果我愿意,它最有效在10次迭代后中断循环。但是,在某些数据中,它被零表示,这使得一切都无法正常工作。
那么有什么简单的解决方案吗?为什么try和except在我的功能上不起作用?
错误:
global filtered_sentence_verhaeltnis
ZeroDivisionError: division by zero
filtered_sentence_verhaeltnis = ("Sentence Sentiment gefiltert: " + str(sum(filtered_sentence_sent)/len(filtered_sentence_sent)))编辑//
我的代码如下所示:
for i in dict_bp.values():
nltk_process(i)
在此 nltk_process中,有时由于dict的值为空而导致错误。因此,我需要使 nltk_process函数不对所有内容进行错误处理,只是在发生错误时继续进行操作。
谢谢。

最佳答案

谢谢你的帮助。
所以我修好了。我使用了try and except,但未在函数本身中使用。我必须在调用函数的循环中使用它。
现在看起来像这样:

def export_all_to_excel(dict_bp):                                                                  
workbook = xlsxwriter.Workbook("Export_ALL.xlsx")
z = 0
worksheet = workbook.add_worksheet('Analyse')
for key,values in dict_bp.items():
z += 1
try:
nltk_einzelauswahl(list(values))
#some more stuff
worksheet.write('G{}'.format(z), sentence_sent_verhaeltnis)
except:
worksheet.write('A{}'.format(z), key)
worksheet.write('B{}'.format(z), "Some error occured")
workbook.close()


关于python - 如果出现被零除的如何通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64991980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com