ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python操作Excel读写--使用xlrd

2019-07-21 12:42:04  阅读:415  来源: 互联网

标签:cell python Excel nrows file table xlrd data row


原文链接:http://www.cnblogs.com/yansjhere/p/3792923.html

一、安装xlrd模块

   到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。

二、使用介绍

  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(u'Sheet1')#通过名称获取           获取整行和整列的值(数组)              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 = 1 value = '单元格的值'   xf = 0 # 扩展的格式化   table.put_cell(row, col, ctype, value, xf)   table.cell(0,0)  #单元格的值'   table.cell(0,0).value #单元格的值'  

 

三、Demo代码

   Demo代码其实很简单,就是读取Excel数据。

 

# -*- coding: utf-8 -*-
import xdrlib ,sys
import xlrd
def open_excel(file= 'file.xls'):
try:
data = xlrd.open_workbook(file)
return data
except Exception,e:
print str(e)
#根据索引获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_index:表的索引
def excel_table_byindex(file= 'file.xls',colnameindex=0,by_index=0):
data = open_excel(file)
table = data.sheets()[by_index]
nrows = table.nrows #行数
ncols = table.ncols #列数
colnames = table.row_values(colnameindex) #某一行数据
list =[]
for rownum in range(1,nrows):

row = table.row_values(rownum)
if row:
app = {}
for i in range(len(colnames)):
app[colnames[i]] = row[i]
list.append(app)
return list

#根据名称获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_name:Sheet1名称
def excel_table_byname(file= 'file.xls',colnameindex=0,by_name=u'Sheet1'):
data = open_excel(file)
table = data.sheet_by_name(by_name)
nrows = table.nrows #行数
colnames = table.row_values(colnameindex) #某一行数据
list =[]
for rownum in range(1,nrows):
row = table.row_values(rownum)
if row:
app = {}
for i in range(len(colnames)):
app[colnames[i]] = row[i]
list.append(app)
return list

def main():
tables = excel_table_byindex()
for row in tables:
print row

tables = excel_table_byname()
for row in tables:
print row

if __name__=="__main__":
main()

转载于:https://www.cnblogs.com/yansjhere/p/3792923.html

标签:cell,python,Excel,nrows,file,table,xlrd,data,row
来源: https://blog.csdn.net/weixin_30633507/article/details/96707413

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有