1. import wx
    import wx.xrc
  1. import pandas as pd
  2.  
  3. from conf.env import *
  4.  
  5. # 允许选择的文件
    wildcard = "Python source (*.xls; *.xlsx)|*.xls;*.xlsx"
  6.  
  7. class WxForms(wx.Frame):
    def __init__(self):
    wx.Frame.__init__(self, None, id=wx.ID_ANY,
    title="File conversion",
    pos=wx.DefaultPosition,
    size=(520, 200))
    # 框架布局
    panel = wx.Panel(self, wx.ID_ANY)
    # 输入文本域
    LabelCfn = wx.StaticText(panel, id=wx.ID_ANY, label='文件设置:', pos=(15, 5), size=(80, 25))
    self.Txt_Input = wx.TextCtrl(panel, id=wx.ID_ANY, pos=(95, 5), size=(300, 25))
    # 事件按钮
    btnO = wx.Button(panel, label="...", pos=(405, 5), size=(70, 25))
    # 生成文本路径
    labelCfn2 = wx.StaticText(panel, id=wx.ID_ANY, label='输出文件夹:', pos=(15, 45), size=(80, 25))
    self.Txt_Output = wx.TextCtrl(panel, id=wx.ID_ANY, pos=(95, 45), size=(300, 25))
    # 事件按钮
    btnS = wx.Button(panel, label="...", pos=(405, 45), size=(70, 25))
    # 事件执行按钮
    btnC = wx.Button(panel, label='执行', pos=(395, 85), size=(80, 35))
    # 事件绑定
    btnO.Bind(wx.EVT_BUTTON, self.onChioceFile)
       btnS.Bind(wx.EVT_BUTTON, self.OnChioceDir)
    btnC.Bind(wx.EVT_BUTTON, self.OnExecute)
      
      def onChioceFile(self, event): """ 按钮事件选择一个Excel文件 """ dlg = wx.FileDialog( self, message="Choose a file", defaultFile="", wildcard=wildcard, style=wx.FLP_OPEN | wx.FD_MULTIPLE | wx.DD_CHANGE_DIR ) if dlg.ShowModal() == wx.ID_OK: tmp = "" paths = dlg.GetPaths() # print(paths) for path in paths: tmp = tmp + path self.Txt_Input.SetValue(tmp) dlg.Destroy()
  1. def onChioceFile(self, event):
    """
    按钮事件选择一个Excel文件
    """
    dlg = wx.FileDialog(
    self, message="Choose a file",
    defaultFile="",
    wildcard=wildcard,
    style=wx.FLP_OPEN | wx.FD_MULTIPLE | wx.DD_CHANGE_DIR
    )
    if dlg.ShowModal() == wx.ID_OK:
    tmp = ""
    paths = dlg.GetPaths()
    # print(paths)
    for path in paths:
    tmp = tmp + path
    self.Txt_Input.SetValue(tmp)
    dlg.Destroy()
  1. def OnChioceDir(self, event):
    """
    按钮事件选择文件夹
    :param event:
    :return:
    """
    dlg = wx.DirDialog(self, u"选择文件夹", style=wx.DD_DEFAULT_STYLE)
    if dlg.ShowModal() == wx.ID_OK:
    path = dlg.GetPath() # 文件夹路径
    self.Txt_Output.SetValue(path)
    dlg.Destroy()
  1. def OnExecute(self, event):
    """
    获取Excel文件并转换格式
    :param event:
    :return:
    """
    out_path = self.Txt_Output.GetValue()
    in_file = self.Txt_Input.GetValue()
    sheets = pd.read_excel(in_file)
    dir_name, file_name = os.path.split(in_file)
    shot_name,extension = os.path.splitext(file_name)
  2.  
  3. if out_path:
    currentPath = os.path.join(out_path, shot_name + '.csv')
    else:
    currentPath = os.path.join(BASE_DIR,'resources\OutPuts', shot_name + '.csv')
    dt = pd.DataFrame(sheets)
    dt.to_csv(currentPath)
    self.Destroy()
  1. app = wx.App(False)
    frame = WxForms()
    frame.Show(True)
    app.MainLoop()
  1.  
  1.  
  1.  

wxpython的简单的应用的更多相关文章

  1. wxPython的简单应用

  2. wxPython 的简单框架实例

    #coding:utf-8 import wx def load(event): file = open(filename.GetValue(),'r') contents.SetValue(file ...

  3. 使用源码编译wxpython-基于python2.7

    1.前言 本文主要讲述在linux环境下进行编译wxpython,在windows下面安装wxpython很简单,只要下载,然后直接执行exe文件,下一步下一步即可安装,在linux下面,则具有很多步 ...

  4. 浅谈 Python 程序和 C 程序的整合

    源地址:http://www.ibm.com/developerworks/cn/linux/l-cn-pythonandc/ 概览 Python 是一种用于快速开发软件的编程语言,它的语法比较简单, ...

  5. 谈 Python 程序和 C 程序的整合 (转载)

    http://www.ibm.com/developerworks/cn/linux/l-cn-pythonandc/ 概览 Python 是一种用于快速开发软件的编程语言,它的语法比较简单,易于掌握 ...

  6. wxPython中按钮、文本控件的简单运用

    本节学习图形用户界面 ------------------------ 本节介绍如何创建python程序的图形用户界面(GUI),也就是那些带有按钮和文本框的窗口.这里介绍wxPython : 下载地 ...

  7. python使用wxPython创建一个简单的文本编辑器。

    ubuntu下通过'sudo apt-get install python-wxtools'下载wxPython.load和save函数用于加载和保存文件内容,button通过Bind函数绑定这两个函 ...

  8. wxPython中文教程 简单入门加实例

    wx.Window 是一个基类,许多构件从它继承.包括 wx.Frame 构件.技术上这意味着,我们可以在所有的 子类中使用 wx.Window 的方法.我们这里介绍它的几种方法: * SetTitl ...

  9. wxPython简单入门

    wxPython简介 wxPython 是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的.功能键全的  GUI 用户界面. wxPython 是作为优秀 ...

随机推荐

  1. Nginx基础笔记

    压力测试工具:ab ab -n 请求数 -c 并发数 请求url Nginx: Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务. 特点 ...

  2. Java学习第四周学习笔记

    20145307<Java程序设计>第4周学习总结 教材学习内容总结 继承与多态 继承 继承作为面向对象的第二大特征,基本上就是避免多个类间重复定义共同行为.即当多个类中存在相同属性和行为 ...

  3. 4.9版本linux内核的ina220电流检测芯片源码在哪里

    答:在drivers/hwmon/ina2xx.c中,内核配置项为CONFIG_SENSORS_INA2XX Location: -> Device Drivers -> Hardware ...

  4. vue.js的一些小语法v-bind,v-if,v-show,v-else

    知识点: v-bind 动态绑定标签属性 v-bind 可简写为 : 使用v-bind 绑定class和内联样式 使用v-if,v-show,v-else进行条件渲染 <template> ...

  5. 【目标检测】R-CNN系列与SPP-Net总结

    目录 1. 前言 2. R-CNN 2.0 论文链接 2.1 概述 2.2 pre-training 2.3 不同阶段正负样本的IOU阈值 2.4 关于fine-tuning 2.5 对文章的一些思考 ...

  6. Python学习札记(五) Basic2 字符串和编码

    参考:字符串和编码 Note A.字符编码 1.计算机处理文本 == 将文本转换为二进制 => 处理 2.8 bit(比特) = 1 byte(字节) 一个字节所能表示的最大的十进制整数是255 ...

  7. python 编程测试练习2

    1.将A.txt(多行)文件的内容读取出来写入到B.txt中 2.总结 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚 ...

  8. codeforces781C Underground Lab

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  9. nRF5 SDK软件架构及softdevice工作原理

    本文将介绍Nordic nRF5 SDK软件架构以及softdevice工作原理,以加深大家对Nordic产品开发的理解,这样开发过程中碰到问题时,大家也知道如何去调试. 如果你刚开始接触nRF5 S ...

  10. 1-11 RHLE7-重定向和文件查找

    在Linux 系统中,一切皆设备Linux系统中使用文件来描述各种硬件,设备资源等例如:以前学过的硬盘和分区,光盘等设备文件sda1   sr0============================ ...