首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法避开这个错误,转到下一个单词?

有没有办法避开这个错误,转到下一个单词?
EN

Stack Overflow用户
提问于 2021-09-22 09:22:30
回答 2查看 54关注 0票数 0

我运行了这段代码,遇到了下面的错误:我如何才能避开错误并继续下一个wrod?

代码语言:javascript
复制
GLOVE_DATASET_PATH = 'glove.840B.300d.txt'

from tqdm import tqdm
import string
embeddings_index = {}
f = open(GLOVE_DATASET_PATH, encoding="utf8")
word_counter = 0
for line in tqdm(f):
  values = line.split()
  word = values[0]
  if word in dictionary:
    coefs = np.asarray(values[1:], dtype='float32')
    embeddings_index[word] = coefs
  word_counter += 1
f.close()

print('Found %s word vectors matching enron data set.' % len(embeddings_index))
print('Total words in GloVe data set: %s' % word_counter)

错误消息是ValueError:无法将字符串转换为浮点型:‘’on line -> 12 coef= np.asarray(values1:,dtype='float32')

EN

回答 2

Stack Overflow用户

发布于 2021-09-22 09:29:18

您可以抑制它:

代码语言:javascript
复制
from contextlib import suppress
with suppress(ValueError):
    coefs = np.asarray(values[1:], dtype='float32')
票数 1
EN

Stack Overflow用户

发布于 2021-09-22 10:01:01

当有事情发生时,我会试着找出发生了什么:

代码语言:javascript
复制
  if word in dictionary:
      try: 
          coefs = np.asarray(values[1:], dtype='float32')
      except:
          print(values[1:], type(values[1:]))
          coefs = 0
      embeddings_index[word] = coefs

这将打印出您获得的返回值,但无法转换,并在此时在列表中写入一个0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69281452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档