网站公司服务器可做域名空间,大连网站建设顾问,怎么制作游戏插件,长沙网站建设网站From: http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html 一、安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装#xff0c;前提是已经安装了python 环境。
也可以在命令行执行#xff1a;easy_install xlrd (注意权限) 二、使用介绍…From: http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html 一、安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装前提是已经安装了python 环境。
也可以在命令行执行easy_install xlrd (注意权限) 二、使用介绍 1、导入模块 import xlrd 2、打开Excel文件读取数据 data xlrd.open_workbook(excelFile.xls) 3、使用技巧 获取一个工作表 table data.sheets()[0] #通过索引顺序获取table data.sheet_by_index(0) #通过索引顺序获取table data.sheet_by_name(uSheet1)#通过名称获取获取整行和整列的值数组table.row_values(i) table.col_values(i) 获取行数和列数nrows table.nrows ncols table.ncols 循环行列表数据 for i in range(nrows ): print table.row_values(i) 单元格 cell_A1 table.cell(0,0).value cell_C4 table.cell(2,3).value 使用行列索引 cell_A1 table.row(0)[0].value cell_A2 table.col(1)[0].value 简单的写入 row 0 col 0 # 类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error ctype 1value 单元格的值 xf 0# 扩展的格式化 table.put_cell(row, col, ctype, value, xf) table.cell(0,0) #单元格的值 table.cell(0,0).value #单元格的值 三、Demo代码 Demo代码其实很简单就是读取Excel数据。 1 # -*- coding: utf-8 -*- 2 import xdrlib ,sys3 import xlrd4 def open_excel(file file.xls):5 try:6 data xlrd.open_workbook(file)7 return data8 except Exception,e:9 print str(e)
10 #根据索引获取Excel表格中的数据 参数:fileExcel文件路径 colnameindex表头列名所在行的所以 by_index表的索引
11 def excel_table_byindex(file file.xls,colnameindex0,by_index0):
12 data open_excel(file)
13 table data.sheets()[by_index]
14 nrows table.nrows #行数
15 ncols table.ncols #列数
16 colnames table.row_values(colnameindex) #某一行数据
17 list []
18 for rownum in range(1,nrows):
19
20 row table.row_values(rownum)
21 if row:
22 app {}
23 for i in range(len(colnames)):
24 app[colnames[i]] row[i]
25 list.append(app)
26 return list
27
28 #根据名称获取Excel表格中的数据 参数:fileExcel文件路径 colnameindex表头列名所在行的所以 by_nameSheet1名称
29 def excel_table_byname(file file.xls,colnameindex0,by_nameuSheet1):
30 data open_excel(file)
31 table data.sheet_by_name(by_name)
32 nrows table.nrows #行数
33 colnames table.row_values(colnameindex) #某一行数据
34 list []
35 for rownum in range(1,nrows):
36 row table.row_values(rownum)
37 if row:
38 app {}
39 for i in range(len(colnames)):
40 app[colnames[i]] row[i]
41 list.append(app)
42 return list
43
44 def main():
45 tables excel_table_byindex()
46 for row in tables:
47 print row
48
49 tables excel_table_byname()
50 for row in tables:
51 print row
52
53 if __name____main__:
54 main() 以下为本人的一点亲身经历 #-*- coding: utf8 -*-
import xlrd, sysreload(sys)
sys.setdefaultencoding(utf8)def getTrans(fname, sheetName):bk xlrd.open_workbook(fname)try:#sh bk.sheet_by_name(sheetName)sh bk.sheets()[0]except:print no sheet in %s named %s %(fname, sheetName)nrows sh.nrows # 行数ncols sh.ncols # 列数flog open(1.log, w) # 创建日志文件trans {}for j in range(ncols):v sh.cell_value(0, j).encode(utf8)if v 译文:for i in range(1, nrows):v0 sh.cell_value(i, j-1).encode(utf8) # 原文v1 sh.cell_value(i, j).encode(utf8) # 译文if v0 ! and v1 ! :if not trans.has_key(v0):trans[v0] v1 # 组成字典的: key - valueflog.write([%s]\t\t[%s]\n %(v0, v1))flog.close()return transdef saveTrans(trans, outfile): # 保存字典数据到文件fout open(outfile, w)for d, x in trans.items():fout.write([%s]\t\t[%s]\n %(d, x))fout.close()def run(fname, sheetName):trans getTrans(fname, sheetName)saveTrans(trans, trans.list)if __name__ __main__:fname girl.xlssheetName Sheet1run(fname, sheetName)girl.xls的文件结构大致如下