在使用python对大型文件应用翻译时获取“socket.timeout:read操作超时”

2024-10-03 23:20:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用谷歌翻译新的英语。我有一个熊猫数据框,它有1000多行。当我应用转换逻辑时,它抛出“socket.timeout:read操作超时”错误。 在我的代码中,我定义了socket.setdefaulttimeout,并在每次拆分中将数据帧拆分为100行,但仍然遇到相同的错误

示例数据帧

enter image description here

代码:

from google_trans_new import google_translator
import socket
import numpy as np

socket.setdefaulttimeout(900)

exl_file = 'ipfile.xlsx'
df = pd.read_excel(exl_file)

translator = google_translator()

splitSize = 100
for g, df in df.groupby(np.arange(len(df)) // splitSize):
    print(df.shape)
    df['trans_val'] = df['value'].apply(lambda x: translator.translate(x, lang_tgt='en'))

错误:

socket.timeout:_ssl.c:761:握手操作超时

您能否建议是否有更好的方法在大文件上应用翻译逻辑


Tags: 数据代码importdftransread错误np