如何使用openai接口对excel单元格中的文本进行翻译

在最近做一些文本处理的时候,由于需要获取地址信息,但是获取原地址数据存在很多的英文、韩文等,尝试用excel中传统的translate函数,但是很多并不能用,因此便想到使用chatgpt作为接口进行翻译,代码如下:

1、首先导入所需的包

from openai import OpenAI
import pandas as pd

2、创建openai客户端

client = OpenAI(api_key='sk-xxxxxxxxxxxxxxx') # 引号内换成你的api-key

3、构造翻译函数

# 定义prompt构造函数
def create_prompt(address):
    # 可以自由定义一个prompt模板,看需求
    prompt = f"""
    I have a set of addresses, please help me to translate them into Chinese, note: the format should not be changed, you only need to answer the address after translation, do not need any other additional answers!!!! The addresses are as follows:
    {address}
    """
    return prompt

# 定义翻译地址的函数
def translate_address(address):
    # 创建提示
    prompt = create_prompt(address)
    # 使用client获取翻译
    translation = client.chat.completions.create(
        model="gpt-3.5-turbo",   # 选取使用的模型
          messages=[
               {"role": "user", "content": prompt}
          ]
        )
    # 从gpt回答中获取翻译
    translated_address = translation.model_dump()['choices'][0]['message']['content']
    # 根据实际响应格式调整
    return translated_address

4、读取数据

df = pd.read_excel("你要翻译的excel文件.xlsx", header=0)
addresses = df["需要翻译的文本"].tolist()

5、调用翻译函数并将其保存到文件中

# 列表用来保存翻译后的地址
translated_addresses = []

# 遍历每个地址并翻译
for address in addresses:
    translated_address = translate_address(address)
    translated_addresses.append(translated_address)

# 将翻译后的地址添加到原数据框中
df["翻译后文本"] = translated_addresses

# 将数据框保存到新的CSV文件中
df.to_csv("translated_addresses.csv", index=False)

print("翻译后的地址已保存到 translated_addresses.csv 文件中。")

最终结果图如下所示:

这只是对openai的一个小应用,不仅可以用于翻译,还可以用于各种需要人不断重复完成工作,只需要根据不同的任务进行prompt的构造就行,chatgpt可以帮我们做一个初筛,正确率不一定能够保证

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值