python操作Excel读写--使用xlrd

简介: python操作Excel读写--使用xlrd

一、安装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()


AIEarth是一个由众多领域内专家博主共同打造的学术平台,旨在建设一个拥抱智慧未来的学术殿堂!【平台地址:https://devpress.csdn.net/aiearth】 很高兴认识你!加入我们共同进步!

目录
相关文章
|
2天前
|
Python
【Python操作基础】——帮助文档
【Python操作基础】——帮助文档
|
2天前
|
Python
【Python操作基础】——字典,迭代器和生成器
【Python操作基础】——字典,迭代器和生成器
|
2天前
|
Python
【Python操作基础】——集合
【Python操作基础】——集合
|
1天前
|
存储 Python
|
2天前
|
Python
【Python操作基础】——包
【Python操作基础】——包
|
2天前
|
Python
【Python操作基础】——函数
【Python操作基础】——函数
|
2天前
|
索引 Python
【Python操作基础】——序列
【Python操作基础】——序列
|
API 数据处理 索引
Python xlrd和xlwt操作Excel实现自动化
Python xlrd和xlwt操作Excel实现自动化
487 0
Python xlrd和xlwt操作Excel实现自动化
|
数据挖掘 BI 数据库
【Python】我用xlrd、xlwt操作Excel
本篇内容介绍了“怎么用Python来操作Excel”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让我带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
【Python】我用xlrd、xlwt操作Excel
|
测试技术 索引 Python