当前位置: 首页 > news >正文

Python(十七)excel指定列自动翻译成英文

前言

本章主要讲述在excel的指定列后面添加一列,并翻译成英文



一、效果图

在这里插入图片描述


二、代码

实际需求:

# -*- codeing = utf-8 -*-
# @time: 2025/1/16  16:32
# @Author : Mikasa
#
# @Aim:自动将客户发的货物清单里的商品名称,翻译成英文;
#       并在当前excel中,品名后面加入一列,并将翻译后的英文写入到excel里from translate import Translator
import pandas as pdfile_path = "./translate_packaging_list/test.xlsx"
sheet_name = "Sheet1"
column_name = "品名"
new_file_path = "./translate_packaging_list/test_translate.xlsx"def extract_column_as_array(file_path, sheet_name, column_name):"""获取excel某列数据,并返回一个list:param file_path::param sheet_name::param column_name::return: 去掉空行的lsit"""df = pd.read_excel(file_path, sheet_name=sheet_name)column_data = df[column_name].tolist()return column_datadef translate_text(text, src='zh-cn', dest='en'):"""将中文翻译成英文:param text::param src::param dest::return:"""translator = Translator(from_lang=src, to_lang=dest)translation = translator.translate(text)return translationdef translate_packaging_list():"""1、翻译后的值生成一个list2、在excel【品名】后加入一列【goods】列3、将翻译后的list写入到该列:return:"""result_array = extract_column_as_array(file_path, sheet_name, column_name)  # 获取列表df = pd.read_excel(file_path, sheet_name=sheet_name)new_column_name = "goods"new_loc = df.columns.get_loc('品名') + 1 #获取指定列后面的坐标english_cargo_name_list = []for good_name in result_array:if type(good_name) == str:translated_text = translate_text(good_name)print(f"{good_name} -> {translated_text}")english_cargo_name_list.append(translated_text)else:english_cargo_name_list.append(good_name)print("english_cargo_name_list:", english_cargo_name_list)print("new_loc:", new_loc)df.insert(loc=new_loc, column=new_column_name, value=english_cargo_name_list)df.to_excel(new_file_path, index=False)if __name__ == '__main__':translate_packaging_list()
http://www.lryc.cn/news/523129.html

相关文章:

  • Ubuntu20.04取消root账号自动登录的方法,触觉智能RK3568开发板演示
  • 诡异的Spring @RequestBody驼峰命名字段映射失败为null问题记录
  • YOLOv10改进,YOLOv10检测头融合RFAConv卷积,添加小目标检测层(四头检测)+CA注意机制,全网首发
  • 周末总结(2024/01/18)
  • LLM - 大模型 ScallingLaws 的迁移学习与混合训练(PLM) 教程(3)
  • 【软件开发过程管理规范】需求管理,需求分析,设计开发管理,测试管理(Word)
  • 计算机网络 (49)网络安全问题概述
  • RPA编程实践:Electron实践开始
  • ORB-SLAM2源码学习:MapPoint.cc④: 新增地图点总结
  • 2025西湖论剑-babytrace
  • 绘图专用,26个常见流程图符号及其解释
  • 【个人学习记录】软件开发生命周期(SDLC)是什么?
  • 自学SpringBoot笔记
  • 03JavaWeb——Ajax-Vue-Element(项目实战)
  • [leetcode](找到vector中的特定元素并删除)无重复字符的最长子串
  • Mockito+PowerMock+Junit单元测试
  • Ncat: bind to :::7777: Address already in use报错问题解决
  • Docker 搭建mysql 连接超时问题,xxl-job启动mysql连接报错,禁用dns
  • 在线图片像素颜色拾取工具
  • Qt之登录界面(splash)
  • NotebookLM:Google 最新 AI 笔记助理解析与实战应用
  • 软路由系统iStoreOS 一键安装 docker compose
  • vue3本地文件下载
  • 纯代码实现给WordPress添加文章复制功能
  • Redis 中 TTL 的基本知识与禁用缓存键的实现策略(Java)
  • 【PyQt】图像处理系统
  • Ruby语言的循环实现
  • javaEE安全开发 SQL预编译 Filter过滤器 Listener 监听器 访问控制
  • 一体机cell服务器更换内存步骤
  • Hadoop•用Web UI查看Hadoop状态词频统计