pyqt cvs保存

# -*- coding: utf-8 -*-
__author__ = ‘Administrator‘
import sys, csv
from PyQt4 import QtGui, QtCore

class Window(QtGui.QWidget):
    def __init__(self, rows, columns):
        QtGui.QWidget.__init__(self)
        self.table = QtGui.QTableWidget(rows, columns, self)
        for column in range(columns - 1):
            for row in range(rows - 1):
                item = QtGui.QTableWidgetItem(‘Text%d‘ % row)
                self.table.setItem(row, column, item)
        self.buttonOpen = QtGui.QPushButton(‘Open‘, self)
        self.buttonSave = QtGui.QPushButton(‘Save‘, self)
        self.buttonOpen.clicked.connect(self.handleOpen)
        self.buttonSave.clicked.connect(self.handleSave)
        layout = QtGui.QVBoxLayout(self)
        layout.addWidget(self.table)
        layout.addWidget(self.buttonOpen)
        layout.addWidget(self.buttonSave)

def handleSave(self):
        path = QtGui.QFileDialog.getSaveFileName(
                self, ‘Save File‘, ‘‘, ‘CSV(*.csv)‘)
        if not path.isEmpty():
            with open(unicode(path), ‘wb‘) as stream:
                writer = csv.writer(stream)
                for row in range(self.table.rowCount()):
                    rowdata = []
                    for column in range(self.table.columnCount()):
                        item = self.table.item(row, column)
                        if item is not None:
                            rowdata.append(
                                unicode(item.text()).encode(‘utf8‘))
                        else:
                            rowdata.append(‘‘)
                    writer.writerow(rowdata)

def handleOpen(self):
        path = QtGui.QFileDialog.getOpenFileName(
                self, ‘Open File‘, ‘‘, ‘CSV(*.csv)‘)
        if not path.isEmpty():
            with open(unicode(path), ‘rb‘) as stream:
                self.table.setRowCount(0)
                self.table.setColumnCount(0)
                for rowdata in csv.reader(stream):
                    row = self.table.rowCount()
                    self.table.insertRow(row)
                    self.table.setColumnCount(len(rowdata))
                    for column, data in enumerate(rowdata):
                        item = QtGui.QTableWidgetItem(data.decode(‘utf8‘))
                        self.table.setItem(row, column, item)

if __name__ == ‘__main__‘:

app = QtGui.QApplication(sys.argv)
    window = Window(10, 5)
    window.resize(640, 480)
    window.show()
    sys.exit(app.exec_())

时间: 2024-11-13 05:07:46

pyqt cvs保存的相关文章

Maven项目的打包发布到Nexus私服和服务器

1.编写pom文件如下: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.4.1</version> </plugin> <plugin> <groupId>

【转】python qt(pyqt)的文件打开、文件保存、文件夹选择对话框

import PyQt4.QtCore,PyQt4.QtGui # 获取文件路径对话框 file_name = QFileDialog.getOpenFileName(self,"open file dialog","C:\Users\Administrator\Desktop","Txt files(*.txt)") ##"open file Dialog "为文件对话框的标题,第三个是打开的默认路径,第四个是文件类型过滤器

python(pyqt)开发环境搭建

eric+pyqt 安装(python开发工具) 更多 0 Python python Eric是一个开源的.跨平台的python&ruby集成开发环境,基于python和pyqt运行.eric有以下特点 1.跨Windows/Linux/Mac等开台 2.调试器给力.支持设置断点,单步调试,查看变量值. 3.支持工程. 4.支持自动补全. 5.支持智能感知,即输入变量名和一个点,会自动提示可能的函数. 6.自动语法检查.每次保存时自动检查. 7.支持自动缩进,会自动判断if, while等语句

使用cvs或svn从sourceforge上获取开源项目的方法[转载]

著名开源软件网站(www.sourceforge.net)上面的开源项目,大部分使用的管理工具为cvs或svn. 这两种软件的代表客户端程序是wincvs和tortoiseSVN. 1.cvs CVS (Concurrent Versions System) is a tool used by many software developers to manage changes within their source code tree. CVS provides the means to st

一个操作cvs格式的c++类

经常需要使用excel,或者把有的数据用excel打开,程序可以生成cvs格式的文件,这样就可以excel打开并处理了,于是找了一个处理cvs的c++类跟大家分享 代码出处找不到了: 代码如下: StringParser.h #pragma once #include <process.h> #include <Windows.h> #include <map> #include <vector> #include <queue> #includ

PyQt 实战:简易便签软件的制作

便签软件 为什么写便签软件 一直都有做一个笔记软件的想法,而我给笔记软件设计的一个特色功能就是它的便签功能.不过由于各种原因,笔记软件无法完成,但是他的便签功能也可以脱离笔记单独存在.不过功能也随着有着相应的变化 我们可能每天都需要一个计划表来帮助我们更加高效的工作,在windows上我们可能会使用它自带的便签软件,也有一些其他的改进版,但是我认为他们不够友好.于是我非常期待一个功能出色的便签.(我自己写的这个也只能说是个雏形,需要以后进行加工) 它具有什么特点 我和几个同学交流过,从用户角度上

pycharm集成pyqt

1.下载PyQt 官方网站:http://www.riverbankcomputing.co.uk/software/pyqt/download/ 2.配置PyCharm File --> Settings --> External Tools --> 单击“ADD”(加号图标) --> 弹出对话框,做如下设置 1).设置“Qt Designer” -- 这个主要用来设计 Qt界面 在Qt Designer的设置中,Program选择PyQt安装目录中 designer.exe 的

[转载]使用PyQt来编写第一个Python GUI程序

转载自:http://python.jobbole.com/81276/ 英文版出处:http://pythonforengineers.com/your-first-gui-app-with-python-and-pyqt/ 软件版本: python-2.7.12.amd64 qt-opensource-windows-x86-mingw482-4.8.6-1 PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64 简介 许多人在学习如何创建一个 GUI 应用的时候都感到十分的困

CVS服务器配置要点

为了方便管理,可为 cvs 专门建立现存于操作系统中的一个组和其中的若干用户.后面还需要建立只属于 cvs 服务的 virtual 用户,并将他们映射到已建立的系统用户上.通过设置文件与目录的不同权限,则可以对 cvs 服务的 virtual 用户进行不同访问权限的控制. 由于 cvs 服务并不是采用 standalone模式始终在后台运行并监听端口,而是由 inetd或 xinetd守护进程来代劳.所以需要配置 /etc/services文件,将 cvs 服务的端口号(通常为2401)与服务名