我有一个text.csv
文件,大小为2 x 400000,看起来像这样:
col 1 col2
0 text text
1 text text
2 text text
...
399999 text text
400000 text text
每个专栏都需要从英语翻译成法语,然后再回到英语。我尝试使用Google Translate手动执行此操作,但是我的文件大小为60MB,Google Translate仅支持最大1 MB的文件。
该Eng> Fr> Eng翻译可以使用Python自动完成吗?
答案 0 :(得分:0)
您可以尝试以下操作来读取csv文件,并且文件中的每一行都将两列从英语翻译为法语,然后又翻译为英语:
import csv
from google.cloud import translate
translate_client = translate.Client()
def translateFunction(text,target):
translation = translate_client.translate(text,target_language=target)
return (translation['translatedText'])
output_file = open('output.csv', 'wb')
reader = csv.reader(open('source.csv', 'rU'), dialect=csv.excel_tab,delimiter=',')
for row in reader:
column1=translateFunction(translateFunction(row[1],'fr'),'en')
column2=translateFunction(translateFunction(row[2],'fr'),'en')
output_text = ','.join([row[0],column1,column2])
output_file.write(output_text.encode('utf-8')+'\n')
output_file.close()
请记住,这会向Translation API发出多个请求。