介绍一个使用Python编写的GUI程序,该程序能够读取Excel文件,将第一个列的数据转置,并将英文内容翻译成中文,最后保存到新的Excel文件中。程序使用wxPython
构建GUI界面,pandas
处理Excel数据,googletrans
进行翻译。
C:\pythoncode\new\rotateexcel.py
一、 功能概述
该程序主要实现以下功能:
- 选择Excel文件: 用户可以通过GUI界面选择需要处理的Excel文件(
.xlsx
格式)。 - 选择保存路径: 用户可以选择保存处理后文件的路径。
- 转置与翻译: 程序读取Excel文件,提取第一个列(从第二行开始)的数据,进行转置,并将英文内容翻译成中文。
- 保存结果: 将翻译后的数据保存到新的Excel文件中,文件名与原文件名相同,并在文件名后添加
_translated
后缀。 - 错误处理: 程序包含错误处理机制,能够捕获并显示文件读取错误、翻译错误等异常信息。
- 进度提示: 程序通过消息框提示用户操作进度(文件选择、保存路径选择、转换完成、错误提示等)。
全部代码
import wx
import pandas as pd
import os
from googletrans import Translator
class ExcelTransposer(wx.Frame):
def __init__(self, *args, **kwargs):
super(ExcelTransposer, self).__init__(*args, **kwargs)
# Set up the frame
self.InitUI()
self.translator = Translator() # 初始化翻译器
def InitUI(self):
panel = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
# File selection
file_box = wx.BoxSizer(wx.HORIZONTAL)
self.file_path = wx.TextCtrl(panel)
file_btn = wx.Button(panel, label="选择xlsx文件")
file_btn.Bind(wx.EVT_BUTTON, self.OnSelectFile)
file_box.Add(self.file_path, proportion=1, flag=wx.EXPAND|wx.ALL, border=5)