import wx
import wx.xrc
import pandas as pd

from conf.env import *

# 允许选择的文件
wildcard = "Python source (*.xls; *.xlsx)|*.xls;*.xlsx" 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()
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()
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()
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) 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()
app = wx.App(False)
frame = WxForms()
frame.Show(True)
app.MainLoop()
 

												

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. 论文笔记:dropout

    Improving neural networks by preventing co-adaptation of feature detectors arXiv preprint arXiv: 120 ...

  2. JSP 与 Servlet 的关系

    以下摘自维基百科: Java服务器页面(JSP)是HttpServlet的扩展.由于HttpServlet大多是用来响应HTTP请求,并返回Web页面(例如HTML.XML),所以不可避免地,在编写s ...

  3. mysql中sql语句中常见的group_concat()函数意思以及用法,oracle中与其一样的功能函数是wmsys.wm_concat()

    1.group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一 ...

  4. java单例模式之懒汉式分析

    转自:http://blog.csdn.net/withiter/article/details/8140338 今天中午闲着没事,就随便写点关于Java单例模式的.其实单例模式实现有很多方法,这里我 ...

  5. VSYNC与HSYNC与PCLK与什么有关系

    在手机平台,LCD,Camera,TV的接线上,都会用到PCLK,VSYNC和HSYNC这三个信号.可见这三个信号和显示关系非常大.首先我们先看这三个信号的作用: PCLK:有些方案给他起名字叫:Do ...

  6. 20145312 《Java程序设计》第十周学习总结

    20145312 <Java程序设计>第十周学习总结 学习笔记 Chapter 17反射与类加载器 17.1 运用反射 .class文档反应了类基本信息,因而从Class等API取得类信息 ...

  7. Android Studio开发学习 - 1. 添加Activity

    1. 项目上点右键,New -> Activity -> Blank Activity 这将生成Activity的 Layout.Class .和相关的配置信息(在AndroidManif ...

  8. SaltStack执行状态收集入库-第五篇

    实验目标 1.salt执行的状态然后结果写入MySQL可以方便查询执行salt执行的历史记录 实现方法 1.使用salt的return功能,是minion直接写入MySQL(相对比较麻烦) 2.使用m ...

  9. Fatal error compiling: java.lang.NoSuc hFieldError??

    用了两天时间,试了各种方法,问题最终解决.是JDK的版本问题:Maven3.5不支持jdk-9.0.1,最后退回:jdk1.8.0_151,问题圆满解决!! [ERROR] Failed to exe ...

  10. XML CDATA是什么?

    XML CDATA是什么? 投稿:mdxy-dxy 字体:[增加 减小] 类型:转载   这篇文章主要为大家介绍下XML CDATA是什么,学习xml的朋友可以参考下     All text in ...