最近刚刚入学,老师老师让我做一些翻译方面的工作,之前是翻译一些单词比较长的句子,只能安心好好翻译,这次,直接给我一个excel文件,如下图:,大概有1000条这种单个的内容,还好多人分工就可以每人330条,不过也挺多的。但是观察到该excel中的数据还是很简单的,谷歌翻译应该可以很好的处理,要是要一个一个黏贴复制可太麻烦的。
采用谷歌翻译的python包直接用代码来翻译,然后再储存在excel中,完美!
#coding=utf-8
'''
time:2019-8-4
brief:将excel的选定的单元格的中文翻译为英文,再保存到excel中
应用于导师交你翻译很多的短语句子,但是实际上不复杂的句子
'''
from googletrans import Translator
import pandas as pd
import xlrd
data=xlrd.open_workbook('test.xlsx')
table = data.sheet_by_index(0) #通过索引顺序获取,0表示第一张表rst = []
dataone=table.col_values(0,160,332)
#print(dataone)
translator = Translator(service_urls=['translate.google.cn'])
rst = []
for i,tanssen in enumerate(dataone):
tmp = translator.translate(tanssen, src='zh-cn', dest='en').text
rst.append(tmp+'\r')
print(i,tanssen,tmp)
df=pd.DataFrame(rst,columns=['test'])
df.to_excel('test1.xlsx',index=False)
'''
with open('test.xlsx') as f:
for i, line in enumerate(f) :
tmp = translator.translate(line, src='zh-cn', dest='en').text
rst.append(tmp + '\r')
print(i, tmp)
with open('test.xlsx', 'w') as f:
f.writelines(rst)
'''
有一点很重要的需要讲的是:不能够在短时间内测试很多次,这会导致g谷歌把你的ip给ban了,这有点类似爬虫,可能同一IP短时间快速访问导致的压力过大,被GG了.会出现一种叫json的错误。如下:
File “/usr/lib/python3.5/json/decoder.py”, line 357, in raw_decode
raise JSONDecodeError(“Expecting value”, s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
emmm是的,我也是出现了的,要处理这个问题,就需要修改自己的VPN,无论是挂学校VPN还是VPN,都是可以解决的。我就是通过挂学校VPN解决的,我爱学校!