您的位置:首页 > 编程语言 > Python开发

tony_python excel 学习第一课

2011-07-23 09:35 393 查看
昨天搞了一晚上,终于把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_workbook
import 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.title
print "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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: