为Excel中的单词批量填充释义

在第一列输入英语单词,第二列批量填充每个单词对应的释义,请问有没有什么解决方法?

单词释义从哪里获取呢?

做的实际上就是批量替换而已啊.

似乎可以用有道的翻译接口,不过可能会有使用限额,而且没有类似于词典的完整释义,只有一个简单的翻译。

如何将翻译官装进Excel中? - 知乎 (zhihu.com)

=FILTERXML(WEBSERVICE("http://fanyi.youdao.com/translate?&i="&B3&"&doctype=xml&version"),"//translation")

不过更靠谱的可能还是想办法从其他地方获取词典,然后再上 XLOOKUP 等函数处理。

2 Likes

接上文,魔改了一下,换了一个词典翻译接口,现在可以获取多个释义了。

=TRANSPOSE(FILTERXML(WEBSERVICE("https://dict.youdao.com/fsearch?client=deskdict&keyfrom=chrome.extension&pos=-1&doctype=xml&xmlVersion=3.2&dogVersion=1.0&vendor=unknown&appVer=3.1.17.4208&le=eng&q="&A2),"//yodaodict/custom-translation/translation/content"))

公式解析:

  • WEBSERVICE(url):从远端 API 获取数据
  • FILTERXML(url, path):从返回的 XML 中提取 path 下的数据,可能返回多个值(此处代表多个释义)
  • TRANSPOSE:转置。默认情况下如果 FILTERXML 返回了多个值,默认是竖着往下溢出。这里转置使其往横向单元格溢出。(也可以用 TEXTJOIN 等函数手动用自己的分隔符拼接)

接口来源: vocabulary2anki.py/xmlDictionary.py at master · lujun9972/vocabulary2anki.py (github.com)

3 Likes