import pdb
import openpyxl
import requests
import hashlib
import time# Baidu translation API endpoint
api_url ='https://fanyi-api.baidu.com/api/trans/vip/translate'
app_id ='xxx'# Replace with your actual Baidu App ID
api_key ='xxx'# Replace with your actual Baidu API key
salt ='1234xx6'defmd5_encrypt(input_string):# 创建MD5对象md5_hash = hashlib.md5()# 将字符串编码为字节对象并更新MD5对象md5_hash.update(input_string.encode('utf-8'))# 获取MD5加密后的十六进制结果return md5_hash.hexdigest()defget_sign(text, salt):sign = app_id + text + salt + api_keyreturn signto ='jp'# Replace with the language code of the target language# Function to translate text using Baidu translation APIdeftranslate_text(text):params ={'q': text,'from':'zh','to': to,'appid': app_id,# Replace with your actual Baidu App ID'salt': salt,# Replace with a random number'sign': md5_encrypt(get_sign(text, salt))# Replace with your actual sign}response = requests.get(api_url, params=params)# pdb.set_trace()translation = response.json()['trans_result'][0]['dst']return translation# Load the Excel file
workbook = openpyxl.load_workbook('input.xlsx')# Replace with your actual file name
sheet = workbook.active# 自定义修改需要翻译的excel的column
col_index =2# Replace with the column index of the Chinese text in the Excel file# Assume the Chinese text is in column A and the translated text will be placed in column Bfor index,row inenumerate(sheet.iter_rows()):# Skip header row# pdb.set_trace()# 从第几 row 开始翻译if index >1:chinese_text = row[col_index].valuetime.sleep(1)translated_text = translate_text(chinese_text)print(f"{index}: {chinese_text} -> {translated_text}")# pdb.set_trace()sheet.cell(row=row[col_index].row, column=col_index+2, value=translated_text)# Save the modified Excel file
workbook.save(f'translated_excel_{to}.xlsx')# Replace with your desired file name