python读写excel

1、打开Excel文件读取数据
 
       workbook = xlrd.open_workbook('excelFile.xls')
 
2、使用方法
 
        获取一个工作表
  
        sheet = workbook.sheets()[0]          #通过索引顺序获取
  
        sheet = workbook.sheet_by_index(0) #通过索引顺序获取
  
        sheet = workbook.sheet_by_name(u'Sheet1')#通过名称获取
  
        获取整行和整列的值(列表)
    
         sheet.row_values(i)
 
         sheet.col_values(i)
  
        获取行数和列数
    
        nrows = sheet.nrows
  
        ncols = sheet.ncols
         
        循环行列表数据
 
        for i in range(nrows ):
 
           print sheet.row_values(i)
 
 单元格
 
cell_A1 = sheet.cell(0,0).value
  
cell_C4 = sheet.cell(2,3).value
  
 
使用行列索引
 
 cell_A1= sheet.row(0)[0].value
  
cell_A2 = sheet.col(1)[0].value
  
cell_A1= sheet.row_values(0)[0]

 示例代码:

 

#encoding=utf-8
from xlrd import *  #引入读模块
from xlwt import *  #引入写模块
from xlutils.copy import copy #引入连接读写的模块

#以读写方式打开指定的Excel文件指定表单,不存在时创建文件
def OpenExcel(filename,sheetname):
    try:
        #打开工作薄,保留原来的格式,编码格式为utf8
        rb=open_workbook(filename,encoding_override="utf-8",formatting_info=True)
    except IOError:
        wb=Workbook(encoding='utf-8')
        ws=wb.add_sheet(sheetname)
        wb.save(filename)
        rb = open_workbook(filename,formatting_info=True)
    #rs = rb.sheet_by_index(n)   #获取第n个工作表
    rs=rb.sheet_by_name(sheetname)  #通过名称获取一个工作表

    wb=copy(rb)  #将只读工作薄拷贝为可写工作薄
    ws=wb.get_sheet(0)  #获取第0个工作表

    return rb,rs,wb,ws

#写EXCEL文件
def WriteExcel(writebook,string,row,col,n):
    #定义写入单元格字体格式,包含中文时必须带u
    title=easyxf(u'font:name 仿宋,height 240 ,colour_index black, bold on, italic off; align: wrap on, vert centre, horiz center;pattern: pattern solid, fore_colour light_orange;') #字体黑色加粗,自动换行、垂直居中、水平居中,背景色橙色
    normal=easyxf('font:colour_index black, bold off, italic off; align: wrap on, vert centre, horiz left;') #字体黑色不加粗,自动换行、垂直居中、水平居左
    warn=easyxf('font:colour_index red, bold off, italic off; align: wrap on, vert centre, horiz left;')#字体红色,自动换行,垂直居中,水平居中
    if n==0:
        writesheet.write(row,col,string.decode('utf-8'),title) #在第row行col列写入string,格式为title
    if n==1:
        writesheet.write(row,col,string.decode('utf-8'),normal)
    if n==2:
        writesheet.write(row,col,string.decode('utf-8'),warn)
    writebook.save(filename)  #保存工作薄

def ReadExcel(row,col):
    print readsheet.row_values(row,1,10)    #打印第row行2到11列,保存在列表中
    print readsheet.col_values(col,1,10)    #打印第col列2到11列,保存在列表中
    print readsheet.row_values(0)[0]    #打印第一行第一列单元格的值
    print readsheet.col_values(4)[0]    #打印第五列第一行单元格的值

if __name__=='__main__':
    import sys
    ctype=sys.getfilesystemencoding()


    filename=u"test.xlsx"
    sheetname=u'结果'
    readbook,readsheet,writebook,writesheet=OpenExcel(filename,sheetname)
    string=u'标题行'
    WriteExcel(writebook,string,0,0,0)
    ReadExcel(1,4)








 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值