python 对EXCEL的读写操作

一、安装xlrd模块

    到python官网下载http://pypi.python.org/pypi/xlrd模块。


二、读取excel  

import xlrd 


def Import_Excel(path):


       data = xlrd.open_workbook(excelpath)    #打开excel文件

       table = data.sheets()[0] #通过索引顺序获取一个工作表,也等于用table = data.sheet_by_index(0);通过名称获取可以用table = data.sheet_by_name(u'sheet1');


       listresult = []      #一个结果list,用来放读取的N行数据

       for i in range(table.nrows):               #获取行数table.nrows;获取列数table.ncols;


          templist = []   #一个临时list,用来放一整行的数据


          for j in table.row_values(i):           #获取整行的值(数组)table.row_values(i);获取整列的值(数组)table.col_values(i);
                templist.append(j)


          listresult.append(templist)


       return listresult


三、写入excel

import xlwt


def Export_Excel(path,listcontent):


        data_w = xlwt.Workbook(encoding = 'utf-8')    #创建一个工作薄
        sheet = data_write.add_sheet('sheet1', cell_overwrite_ok = True)    #创建一个工作表

       
        x = 0
    #初始行为0
        for onerow in listcontent:           #在listcontent的每一行中
            y = 0                                   #初始列为0
            for onecell in onerow:           #在每一行的每个数值中
                sheet.write(x,y,onecell)    #写入第x行第y
                y = y + 1                        #列往后移动一位
            x = x + 1       #行往下移动一位

        data_w.save(path)    #这里的path可以是'D盘test.xls'


四、补充:

单元格
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
 
ctype = 1 value = '单元格的值'    
# 类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
 
xf = 0 # 扩展的格式化
 
table.put_cell(row, col, ctype, value, xf)


Tips:关于日期存储

Excel中存储的日期,在xlrd读入时候是一个fload对象,如2011-06-18直接读入显示的是40712.0。我们需要将其转换成int,其实这个数在在excel中是从1899/12/31从0开始累加的。下面我们需要转换这个日期:
date_float = table.row_values(1)[1]  #假设第一行第一列是日期
date_time = datetime.date.fromordinal(datetime.date(1899,12,31).toordinal()-1+int(date_float)).strftime("%Y-%m-%d")

    到python官网下载http://pypi.python.org/pypi/xlrd模块。
    到python官网下载http://pypi.python.org/pypi/xlrd模块。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值