当前位置: 首页 > news >正文

pthon翻译googletrans案例

在对1600+行内容,进行中英互译时,发现报错:

一开始以为是文件内容或是语法问题,反复查验,未发现文件内容方面的问题;

语法方面,切换了多个googletrans版本,均出现报错;

最后把文档内容做了切分,发现数据记录相对较少的文件可以正常运转,排除语法方面问题;

经测试:但是每次报错的节点不一样,有时候198条内容报错,有时281条内容报错,每次都不一致,排除文件格式问题,经过多次尝试,怀疑是过度频繁的使用网页请求而被系统监测到,从而报错;

使用time.sleep()处理:

40条记录,休息10秒,ok;

50条记录,休息10秒,ok;

100条记录,休息10秒,报错;

1条记录,休息1秒,暂未报错(已运行500+条)

# import asyncio
import time
import numpy as np
from googletrans import Translator
import pandas as pd
filepath='/Users/kangyongqing/Downloads/'
file1='Location分布.xlsx'
df1=pd.read_excel(filepath+file1)
# df=df1[df1['location'].str.contains(r'[\u4e00-\u9fff]+')].copy()  #  \u4e00-\u9fff 是unicode中汉字的常用范围
df=df1.copy()
df['loc1']=''

translator=Translator()
# df['loc1']=df['location'].map(lambda x:translator.translate(x,dest='en').text)
k=1
i=0
# for i in range(i,len(df)):
#     print(i)
#     df.iloc[i, 1] = translator.translate(df.iloc[i, 0], dest='en').text
#     print(df.iloc[i, 1])
#     i+=1
#     if np.mod(i,40)==0:
#         df.iloc[(k-1)*40:i,:].to_excel(filepath + f'chuli到{(k-1)*40}到{i-1}条记录.xlsx')
#         k+=1
#         time.sleep(10)
#     elif i==len(df):
#         df.iloc[(k - 1) * 40:i, :].to_excel(filepath + f'chuli到{(k - 1) * 40}到{i - 1}条记录.xlsx')


# for i in range(i,len(df)):
#     print(i)
#     df.iloc[i, 1] = translator.translate(df.iloc[i, 0], dest='en').text
#     print(df.iloc[i, 1])
#     i+=1
#     if np.mod(i,50)==0:
#         df.iloc[(k-1)*50:i,:].to_excel(filepath + f'chuli到{(k-1)*50}到{i-1}条记录.xlsx')
#         k+=1
#         time.sleep(10)
#     elif i==len(df):
#         df.iloc[(k - 1) * 50:i, :].to_excel(filepath + f'chuli到{(k - 1) * 50}到{i - 1}条记录.xlsx')



for i in range(i,len(df)):
    print(i)
    df.iloc[i, 1] = translator.translate(df.iloc[i, 0], dest='en').text
    time.sleep(1)
    i+=1
    # if np.mod(i,500)==0:
    #     df.iloc[(k-1)*500:i,:].to_excel(filepath + f'chuli到{(k-1)*500}到{i-1}条记录.xlsx')
    #     k+=1
    #     time.sleep(10)
    # elif i==len(df):
    #     df.iloc[(k - 1) * 500:i, :].to_excel(filepath + f'chuli到{(k - 1) * 500}到{i - 1}条记录.xlsx')
df.to_excel(filepath+'fanyi.xlsx')





结果1:

结果2:

逐条监督运行,成功翻译1600+记录,并导出明细,达成目标:

pandas筛选含有汉字的行:

# df=df1[df1['location'].str.contains(r'[\u4e00-\u9fff]+')].copy()  #  \u4e00-\u9fff 是unicode中汉字的常用范围

相关文章:

  • 高级课第五次作业
  • flink和yarn和mpp架构区别
  • 【菜笔cf刷题日常-1600】C. Balanced Stone Heaps(二分求min/max)
  • Linux -- I/O接口,文件标识符fd、file结构体、缓冲区、重定向、简单封装C文件接口
  • MySQL实现文档全文搜索,分词匹配多段落重排展示,知识库搜索原理分享
  • Android 系统开发的指导文档
  • 前端知识一
  • 【Linux】配置hosts
  • C# IEquatable<T> 使用详解
  • kali_Linux_2024安装frida==12.8.0
  • Xcode 运行真机失败
  • 前端面试题---.onChange() 事件与焦点机制解析
  • python爬虫:python中使用多进程、多线程和协程对比和采集实践
  • pyside6学习专栏(九):在PySide6中使用PySide6.QtCharts绘制6种不同的图表的示例代码
  • jenkins流程概述
  • Vue 调用摄像头扫描条码
  • 【零基础到精通Java合集】第二十三集:G1收集器深度解析
  • Git 强制同步远程仓库:如何彻底放弃本地更改并同步远程数据?
  • printf 与前置++、后置++、前置--、后置-- 的关系
  • 数据库设计理论与实践
  • 北辰网站建设/宣传推广方式有哪些
  • 网站作弊/济南网站建设方案
  • 做报废厂房网站怎么做/怎么建立自己的网站
  • 产品设计开发流程图/seo排名快速刷
  • 安徽省新天源建设公司网站/不花钱网站推广
  • 一个可以做网站/郑州网站推广电话