tony_python excel 学习第一课

来源:互联网 发布:万网域名改dns没法解析 编辑:程序博客网 时间:2024/06/02 23:05

昨天搞了一晚上,终于把python读excel的程序调试通过了,现在记录先:

我主要尝试了pyxll 和 openpyxl 两个模块


1.pyxll号称支持excel2010,看了看它提供的例子,主要是以操作excel的单元格为主,我主要关注的是读excel并对单元格内容进行解析

它这一块从demo程序来看好像没有实例

刚开始不知道怎么安装该模块,折腾了一段时间,发觉直接将该程序包里面的pyxll.py拷贝到 安装目录C:\Python26\Lib就可以运行了

后来我发觉离我目标有点距离,就没有深入研究了.


2.openpyxl-1.5.2

我的环境: win7  python2.6

安装openpyxl

http://packages.python.org/an_example_pypi_project/setuptools.html

参照上面官方文档,

1)  到网站http://pypi.python.org/pypi/setuptools下载setuptools,安装setuptools

2)到window cmd 窗口, Cd 到你下载的openpyxl-1.5.2 目录,  运行 python.exe  setup.py install 

      或者 python.exe setup.py  bdist_wininst 得到一个 .exe 安装包

3)  安装应该OK了


运行源代码:


#-*- coding:utf-8 -*from openpyxl.reader.excel import load_workbookimport time#开始时间startTime = time.time()#读取excel2007文件wb = load_workbook(filename = r'demo.xlsx')#显示有多少张表print "Worksheet range(s):", wb.get_named_ranges()print "Worksheet name(s):", wb.get_sheet_names()#取第一张表sheetnames = wb.get_sheet_names()ws = wb.get_sheet_by_name(sheetnames[0])#显示表名,表行数,表列数print "Work Sheet Titile:",ws.titleprint "Work Sheet Rows:",ws.get_highest_row()print "Work Sheet Cols:",ws.get_highest_column()# 建立存储数据的字典 data_dic = {} #把数据存到字典中for rx in range(ws.get_highest_row()):        temp_list = []    pid = ws.cell(row = rx,column = 0).value    w1 = ws.cell(row = rx,column = 1).value    w2 = ws.cell(row = rx,column = 2).value    w3 = ws.cell(row = rx,column = 3).value    w4 = ws.cell(row = rx,column = 4).value    temp_list = [w1,w2,w3,w4]       data_dic[pid] = temp_list#打印字典数据个数print 'Total:%d' %len(data_dic)



输出结果:


Worksheet range(s): []
Worksheet name(s): ['Sheet1', 'Sheet2', 'Sheet3']
Work Sheet Titile: Sheet1
Work Sheet Rows: 1
Work Sheet Cols: 1
Total:1