AI自动化办公:批量将Excel表格英文内容翻译为中文

有一个50列的表格,里面都是英文,要翻译成中文:

在ChatGPT中输入提示词:

你是一个开发AI大模型应用的Python编程专家,要完成以下任务的Python脚本:

打开Excel文件:"F:\AI自媒体内容\AI行业数据分析\poetop50bots.xlsx"

读取A2到B51这个区域中的每一个单元格内容,

调用deepseek-chat模型(上下文长度32K,最大输出长度4K)来将单元格的内容翻译成中文;

模型的base_url为:https://api.deepseek.com

模型的api_key为:XXX

temperature 参数设置认为 1.1

提示词为:把英文内容翻译为中文

调用deepseek-chat模型API的示例参照【】里面的内容:

【# Please install OpenAI SDK first:`pip3 install openai`

from openai import OpenAI

client = OpenAI(api_key="<deepseek api key>", base_url="https://api.deepseek.com")

response = client.chat.completions.create(

model="deepseek-chat",

messages=[

{"role": "system", "content": "You are a helpful assistant"},

{"role": "user", "content": "Hello"},

],

stream=False

)

print(response.choices[0].message.content)

模型返回的json数据示例:

{

"id": "65c327b06948c8d635c8316c6885d95e",

"choices": [

{

"index": 0,

"message": {

"content": "Hello! How can I assist you with your programming or computer science questions today?",

"role": "assistant"

},

"finish_reason": "stop",

"logprobs": null

}

],

"created": 1717069572,

"model": "deepseek-coder",

"system_fingerprint": "fp_ded2115e5a",

"object": "chat.completion",

"usage": {

"prompt_tokens": 18,

"completion_tokens": 16,

"total_tokens": 34

}

}

解析返回的JSON数据,获取翻译后的文本,将翻译后的文本内容写入一个新的表格文件中;

注意:

每一步都要输出相关信息到屏幕上

如果单元格的文本长度或者翻译返回的文本长度超过模型限制,那就进行拆分,然后组合在一起;

Chatpgt生成的代码:

import pandas as pd

import requests

import json

读取Excel文件

file_path = "F:\\AI自媒体内容\\AI行业数据分析\\poetop50bots.xlsx"

df = pd.read_excel(file_path, header=None, usecols="A:B", skiprows=1, nrows=50)

DeepSeek API配置信息

base_url = "https://api.deepseek.com"

api_key = "XXX"

model = "deepseek-chat"

def translate_text(text):

headers = {

'Authorization': f'Bearer {api_key}',

'Content-Type': 'application/json'

}

data = {

"model": model,

"messages": [

{"role": "system", "content": "You are a helpful assistant"},

{"role": "user", "content": f"把英文内容翻译为中文:{text}"}

],

"stream": False

}

response = requests.post(f"{base_url}/v1/chat/completions", headers=headers, json=data)

response.raise_for_status() # 检查请求是否成功

translated_text = response.json()['choices'][0]['message']['content']

return translated_text

def split_text(text, max_length):

return [text[i:i + max_length] for i in range(0, len(text), max_length)]

输出每一步的信息到屏幕上

print(f"读取文件: {file_path}")

for index, row in df.iterrows():

for col in [0, 1]: # 遍历A和B列

text = row[col]

if pd.isna(text):

continue

text = str(text)

print(f"正在翻译单元格({index+2}, {chr(col+65)}): {text}")

max_input_length = 32000

max_output_length = 4000

if len(text) > max_input_length:

parts = split_text(text, max_input_length)

translated_parts = [translate_text(part) for part in parts]

translated_text = ''.join(translated_parts)

else:

translated_text = translate_text(text)

print(f"翻译结果: {translated_text}")

将翻译后的文本写入DataFrame中

df.iat[index, col] = translated_text

将结果写回到新的Excel文件中

new_file_path = "F:\\AI自媒体内容\\AI行业数据分析\\translated_poetop50bots.xlsx"

df.to_excel(new_file_path, index=False, header=False, startrow=1)

print(f"翻译完成,结果已写入文件: {new_file_path}")

相关推荐
阿坡RPA3 小时前
手搓MCP客户端&服务端:从零到实战极速了解MCP是什么?
人工智能·aigc
用户27784491049933 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
机器之心3 小时前
刚刚,DeepSeek公布推理时Scaling新论文,R2要来了?
人工智能
算AI5 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
凯子坚持 c6 小时前
基于飞桨框架3.0本地DeepSeek-R1蒸馏版部署实战
人工智能·paddlepaddle
工业通讯探索者6 小时前
ProfiNet转CANopen协议转换网关驱动新能源汽车生产线多轴同步控制
自动化·工业物联网·协议转换网关·网关模块·总线协议
你觉得2056 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
8K超高清7 小时前
中国8K摄像机:科技赋能文化传承新图景
大数据·人工智能·科技·物联网·智能硬件
hyshhhh7 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
薛定谔的猫-菜鸟程序员7 小时前
零基础玩转深度神经网络大模型:从Hello World到AI炼金术-详解版(含:Conda 全面使用指南)
人工智能·神经网络·dnn