Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解决;检测到的语言低自信异常“;使用AWS翻译服务时出错_Python_Pandas_Csv_Translate - Fatal编程技术网

Python 如何解决;检测到的语言低自信异常“;使用AWS翻译服务时出错

Python 如何解决;检测到的语言低自信异常“;使用AWS翻译服务时出错,python,pandas,csv,translate,Python,Pandas,Csv,Translate,我有一个CSV文件,其中存储了来自twitter的推文。其中一些是非英语的,我正在使用AWS翻译服务 我正在将我的CSV转换为dataframe,然后尝试为翻译的tweet文本创建新的列,但对于一些tweet,由于对语言检测的信心不足,它显示出错误,代码没有前进 我想跳过这些生成文本的错误,并想在代码中进一步执行 出现以下错误: 检测到的语言LowConfidenceException:发生错误 (DetectedLanguageLowConferenceException)调用 Transla

我有一个CSV文件,其中存储了来自twitter的推文。其中一些是非英语的,我正在使用AWS翻译服务

我正在将我的CSV转换为dataframe,然后尝试为翻译的tweet文本创建新的列,但对于一些tweet,由于对语言检测的信心不足,它显示出错误,代码没有前进

我想跳过这些生成文本的错误,并想在代码中进一步执行

出现以下错误:

检测到的语言LowConfidenceException:发生错误 (DetectedLanguageLowConferenceException)调用 TranslateText操作:翻译请求因低而被拒绝 自动检测到的源语言“fr”的可信度。指定一个有效的 源语言代码强制翻译

下面是我试图获取输出的代码。 jap.csv是我的tweet存储的csv。使用这个CSV,我创建了df名称“文本”是tweet文本存在的列,而translated_text是我存储翻译文本的新列

import boto3
import aws_credentials
import pandas as pd
translate = boto3.client('translate',aws_access_key_id= aws_credentials.key_id,aws_secret_access_key= aws_credentials.secret_key,
                         region_name='us-west-2')
translated = pd.read_csv('jap.csv')
translated['Translated_text'] = translated['text']
translated['Orginal_text_lang']= 'en'
for i, row in translated.iterrows():
    result = translate.translate_text(Text= row['text'],
           SourceLanguageCode='auto', TargetLanguageCode="en")

    T_text= result.get('TranslatedText')
    So_lg= result.get('SourceLanguageCode')
    translated.at[i,'Translated_text']= T_text
    translated.at[i,'Orginal_text_lang']= So_lg
translated.to_csv('translated.csv')


我想跳过所有产生此类错误的文本,代码应该一直执行到最后,并为翻译文本生成输出CSV。

嗨,我设法使用try and except方法解决了这个问题。我提到了这个问题

import boto3
import aws_credentials
import pandas as pd
translate = boto3.client('translate',aws_access_key_id= aws_credentials.key_id,aws_secret_access_key= aws_credentials.secret_key,
                         region_name='us-west-2')
translated = pd.read_csv('jap.csv')
translated['Translated_text'] = translated['text']
translated['Orginal_text_lang']= 'en'
for i, row in translated.iterrows():
    result = translate.translate_text(Text= row['text'],
           SourceLanguageCode='auto', TargetLanguageCode="en")

    T_text= result.get('TranslatedText')
    So_lg= result.get('SourceLanguageCode')
    translated.at[i,'Translated_text']= T_text
    translated.at[i,'Orginal_text_lang']= So_lg
translated.to_csv('translated.csv')


您是如何在代码中访问此特定异常的?我在boto3包中找不到异常类。我通过阅读本文回答了我的问题。您需要实例化服务,然后使用
exceptions
属性访问特定于该服务的异常。