【发布时间】:2017-09-12 14:45:53
【问题描述】:
我正在尝试编写一个函数:
- 将字符串作为输入
- 检查是否有数字
- 将数字转换为单词
例如,“Hello 5, 123”将转换为“Hello 5, 123”。
我的代码是: 从 nltk.corpus 导入停用词 从 nltk.tokenize 导入 word_tokenize 从 num2words 导入 num2words
def conv_mytext(text, **keyword_parameters):
if('convert_digits' in keyword_parameters):
word_tokens = word_tokenize(text)
for w in word_tokens:
if int(w):
word_tokens[w] = num2words(w)
else:
continue
return text
我收到此错误:
ValueError: invalid literal for int() with base 10: 'Hello'
我做错了什么?
【问题讨论】:
-
这个怎么样:pastebin.com/WwFCjYtt?
-
使用
try int(w) ... except ...而不是if int(w) ... else ...