zoukankan      html  css  js  c++  java
  • python之excel读写操作

    读取excel,需要先下载xlrd包

    # -*- coding:utf-8 -*-
    import xlrd
    def read_exclData():
        """读取excel表中的内容"""
        book=xlrd.open_workbook('new.xls') #打开要读取的excel
        sheet=book.sheet_by_index(0)       #根据指定索引获取要读取的sheet页,下标从0开始算
        sheet=book.sheet_by_name('wu')     #根据sheet页名称获取要读取的sheet页
        rows=sheet.nrows                   #获取sheet页面里面的总行数,行数从1开始算,中间有空行也会计算
        columns=sheet.ncols                #获取sheet页面里面的总列数,列数从1开始算,中间有空行也会计算
        print(rows,columns)                #打印总行数,总列数
        print(sheet.cell(0,0).value)       #获取指定单元格里面的内容,返回字符串
        print(sheet.row_values(1))         #获取指定行的内容,返回的是列表,从下标0开始,空值也算
        print("==========================")
        for i in range(rows):              #获取所有的行的内容
            print(sheet.row_values(i))
    read_exclData()

    写入excel,需要先下载xlwt包

    def write_excelData():
        """往excel中写入数据"""
        #创建一个excel、参数style_compression表示是否压缩
        book=xlwt.Workbook(encoding = "utf-8", style_compression = 0)
        #创建一个sheet表,如果cell_overwrite_ok参数为True,则同一个单元格可以覆盖,默认为False
        worksheet=book.add_sheet("sheet1",cell_overwrite_ok = True)
        #往表中写入数据worksheet.write(row,col,value),row表示行号,col表示列号,value表示值
        worksheet.write(0,0,"李白")
        #保存
        book.save("write_libai.xls")
    write_excelData()

    其实在工作中,你是不能对原excel进行操作的,为什么?因为如果你在用这张表,其他同事也在用,你们都对表做修改,或者说你修改错了数据,怎么办?

    所以可以先对原表进行copy,然后再进行操作,怎么做?看下面的代码

    使用xlutils库copy excel表后进行操作

    import xlrd
    from xlutils.copy import copy
    def set_excelData():
    # 路径 ./表示当前目录 ../表示父层目录 excelDir = '../data/new.xls' # cell_overwrite_ok参数为True,则同一个单元格可以覆盖,默认为False workBook = xlrd.open_workbook(excelDir, formatting_info=True) # 复制一个新excel文件对象 注意这个是wb copy用来专门copy excel的.不是浅拷贝里面的copy workBookNew = copy(workBook) # 取复制出来的新excel文件对象的第一个子表。 注意copy出来的不能用name获取sheet页,用下标 workSheetNew = workBookNew.get_sheet(0) #保存复制出来的表 workBookNew.save('../data/new2.xls') if __name__ == '__main__': set_excelData()
  • 相关阅读:
    Mongodb 集群加keyFile认证
    MongoDB 3.0 常见集群的搭建(主从复制,副本集,分片....)
    JVM的垃圾回收机制详解和调优
    深入Java核心 Java内存分配原理精讲
    PLSQL Developer win7 64位 安装方法
    nginx作为负载均衡服务器——测试
    Nginx负载均衡配置
    nginx集群报错“upstream”directive is not allow here 错误
    Nginx反向代理和负载均衡——个人配置
    Quartz集群配置
  • 原文地址:https://www.cnblogs.com/king2/p/13763550.html
Copyright © 2011-2022 走看看