import pandas as pd
import requests
from requests.auth import HTTPBasicAuth
def translate_text(text, target_language, source_language, username, password):
url = ""
data = {
"SourceLanguage": source_language,
"TargetLanguage": target_language,
"Contents": [text]
}
auth = HTTPBasicAuth(username, password)
response = requests.post(url, json=data, auth=auth)
if response.status_code == 200:
translation = response.json()["result"][0][0]
return translation
else:
return None
# 填写认证信息
username = ""
password = ""
# 读取Excel表格
df = pd.read_excel(r"C:\Users\wangkejun\Desktop\DamaishujuCategoryKeyWord_20230901.xlsx")
# 遍历每一行,翻译"Keyword"列的西班牙词语
for index, row in df.iterrows():
keyword = row["Keyword"]
try:
translated_keyword = translate_text(keyword, "zh-CN", "es", username, password) # 将西班牙语翻译成中文(简体)
# 将翻译结果添加到"ChKeyword"列
df.at[index, "ChKeyword"] = translated_keyword
# 显示翻译结果
print(f"翻译结果: {translated_keyword}")
except:
print(False)
df = pd.read_excel(r"C:\Users\wangkejun\Desktop\20230901.xlsx")
这段代码使用 Python 的 pandas 库和 requests 库,
对 Excel 表格中的西班牙语关键词进行自动翻译,将其翻译成中文(简体),
然后将翻译结果储存在 Excel 表格中的"ChKeyword"列。
其中,表格数据从指定路径的 Excel 文件中读取。具体实现方式是遍历表格每一行,通过调用一个名为 translate_text 的函数来进行自动翻译。
返回的结果是 JSON 格式的数据。
translate_text 函数中使用了 HTTPBasicAuth 对象来传递认证信息。
如果翻译成功,将翻译结果添加到 DataFrame 表格中,并输出翻译结果;
如果翻译失败,则忽略该行不做处理。
最后,将带有翻译结果的 DataFrame 表格重新读取一次,以便将翻译结果写入原始文件中。