使用 DeepL 翻译数据帧

Use*_*123 1 python translate deepl

我想翻译(使用 DeepL) df [“text”] 列内的文本,其中每行都有一个句子。该文本不是用单一语言编写的,因此我想自动检测文本的语言并将翻译放在名为 df [“已翻译”] 的新列中。

谢谢

我有 DeepL 的免费身份验证密钥,但我不知道如何使用它,我是一个菜鸟。

win*_*nts 5

我需要为最近的项目翻译数据框中的一列,并认为我会使用 DeepL 的Python 客户端库来分享我的方法,以防它有帮助。

\n
import pandas as pd\nimport deepl\ntranslator = deepl.Translator(auth_key)\n\nd = {\'Source\': [\'This is some English source text.\', \'Another sentence in English.\']}\ndf = pd.DataFrame(data=d)\n\ndf[\'Target\'] = df[\'Source\'].apply(lambda x: translator.translate_text(x,  \n               target_lang="DE") if type(x) == str else x)\n
Run Code Online (Sandbox Code Playgroud)\n

如上所述,source_lang如果您希望 DeepL 自动检测源语言 xe2x80x94,则可以省略该参数,这就是我在这里所做的。

\n

你最终会得到:

\n
    Source                              Target\n0   \'This is some English source text.\' \'Dies ist ein englischer Ausgangstext.\'\n1   \'Another sentence in English.\'      \'Ein weiterer Satz auf Englisch.\'\n
Run Code Online (Sandbox Code Playgroud)\n

(这if type(x) == str else x不是必需的,但如果您希望跳过源文本列中的空值或其他非字符串值,这可能会有所帮助。)

\n