python很强大的,配合第三方的包,可以实现api函数调用、com调用、网络、数据库、串口编程等等。配合PyQt可以编写很牛的界面,依托Qt库可以进行数据库操作、网络操作,而且最让人震惊的是竟然将Qt自带的Demo完全用PyQt重写了,振奋人心。很适合写一下测试程序等小工具啥的。刚开始从官网上下载了最新的3.2.2版本,下载了一下三方的库根本没法编译,试着修改编辑,还是不行,浪费了很多时间。从网上查找资料说先别用3.0以上的版本,于是卸载了3.2.2改装2.6,这个版本比较稳定了,基本上三方库都能很好支持。做了一个操作excel和写Qt界面的小demo。
Excel操作:
from pyExcelerator import *
from xlrd import *
import sys
from xlutils.copy import copy
#使用xlrd可以读取每个单元格
fname = "blanks.xls"
bk = open_workbook(fname)
shxrange = range(bk.nsheets)
try:
sh = bk.sheet_by_name("Sheet1")
except:
print "no sheet in %s named Sheet1" % fname
sys.exit(0)
nrows = sh.nrows
ncols = sh.ncols
print "nrows %d, ncols %d" % (nrows, ncols)
cell_value = sh.cell_value(1, 1)
print cell_value
row_list = []
for i in range(1, nrows):
row_data = sh.row_values(i)
row_list.append(row_data)
print row_list
#pyExcelerator读取Excel将全部单元格对读取出来了,不容易遍历
sheets = parse_xls("blanks.xls")
print sheets
#pyExcelerator只能用来生成全新的excel文件,不能修改已存在的excel
#修改数据使用xlutils
rb = open_workbook("blanks.xls")
rs = rb.sheet_by_index(0)
wb = copy(rb)
ws = wb.get_sheet(0)
ws.write(0, 0, "被我修改了".decode('gbk'));#需要转码否则excle中看到的是乱码,3.0以上版本估计好些吧
wb.save("blanks.xls")
Qt界面:
import sys
from PyQt4.QtGui import QApplication, QPushButton
app = QApplication(sys.argv)
button = QPushButton("Hello world")
button.show()
sys.exit(app.exec_())