如何在 SQLAlchemy 对象上使用 googletrans 的翻译器
How to use googletrans's Translator on SQLAlchemy object
我正在尝试使用 googletrans
的 Translator
函数翻译云 MySQL table 中的几列。
import pandas as pd
import googletrans
from googletrans import Translator
import sqlalchemy
import pymysql
import numpy as np
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine("mysql+pymysql:......")
Session = sessionmaker(bind = engine)
session = Session()
translator = Translator()
这里我看了MySQL table:
sql_stmt = "SELECT * FROM translate"
data = session.execute(sql_stmt)
然后我试着翻译一下:
for to_translate in data:
data.col1_Translated = translator.translate(to_translate.col1, dest = 'en')
data.col2_Translated = translator.translate(to_translate.col2, dest = 'en')
但是当我尝试查看是否使用以下代码进行了翻译时,我没有得到任何输出。
for rows in data:
print(rows.col1, rows.col1_Translated, rows.col2, rows.col2_Translated)
我是 SQLALchemy 的新手,无法找到解决方案。谁能告诉我哪里出错了,以及如何访问列和应用翻译功能。
如果我没记错你想要:
for to_translate in data:
to_translate.col1_Translated = translator.translate(to_translate.col1, dest = 'en')
# instead of:
# data.col1_Translated = ...
to_translate.col2_Translated = translator.translate(to_translate.col2, dest = 'en')
对吧?您正在分配给 data.col1_Translated,因此它在循环的每次传递中都会被覆盖。
如果这不是问题,请尝试:
for to_translate in data:
print(translator.translate(to_translate.col1, dest = 'en'))
print(translator.translate(to_translate.col2, dest = 'en'))
只是想看看有没有什么东西被翻译了。如果是,你想对翻译做什么?
我正在尝试使用 googletrans
的 Translator
函数翻译云 MySQL table 中的几列。
import pandas as pd
import googletrans
from googletrans import Translator
import sqlalchemy
import pymysql
import numpy as np
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine("mysql+pymysql:......")
Session = sessionmaker(bind = engine)
session = Session()
translator = Translator()
这里我看了MySQL table:
sql_stmt = "SELECT * FROM translate"
data = session.execute(sql_stmt)
然后我试着翻译一下:
for to_translate in data:
data.col1_Translated = translator.translate(to_translate.col1, dest = 'en')
data.col2_Translated = translator.translate(to_translate.col2, dest = 'en')
但是当我尝试查看是否使用以下代码进行了翻译时,我没有得到任何输出。
for rows in data:
print(rows.col1, rows.col1_Translated, rows.col2, rows.col2_Translated)
我是 SQLALchemy 的新手,无法找到解决方案。谁能告诉我哪里出错了,以及如何访问列和应用翻译功能。
如果我没记错你想要:
for to_translate in data:
to_translate.col1_Translated = translator.translate(to_translate.col1, dest = 'en')
# instead of:
# data.col1_Translated = ...
to_translate.col2_Translated = translator.translate(to_translate.col2, dest = 'en')
对吧?您正在分配给 data.col1_Translated,因此它在循环的每次传递中都会被覆盖。
如果这不是问题,请尝试:
for to_translate in data:
print(translator.translate(to_translate.col1, dest = 'en'))
print(translator.translate(to_translate.col2, dest = 'en'))
只是想看看有没有什么东西被翻译了。如果是,你想对翻译做什么?