python读写excel

摘要:
Python需要两个库来操作excel表:xlrd和xlwt1,并获取excel表Book对象的实例:Book=xlrd.open_Workbook(文件路径)2。获取excel_Nums=book的图纸对象图纸。nsheets获取图纸对象的数量sheet=book。sheet_by_索引(Index)下标从0 sheet=book.shee开始

Python操作excel表,需要用到两个库:xlrd和xlwt

1、获取excel表Book对象实例:

  book = xlrd.open_workbook(filepath)

2、获取excel的Sheet对象

  sheet_nums = book.nsheets    获取Sheet对象个数

  sheet = book.sheet_by_index(index) 下标从0开始

  sheet = book.sheet_by_name(name) 根据sheet的名字找到对应的Sheet对象

  sheets = book.sheets()        获取所有的Sheet对象列表

  sheets_name = book.sheet_names()  返回所有Sheet的名字列表

3、Sheet对象属性及方法简介:

  cell = sheet.cell(rowIndex,colIndex)  # 返回指定单元格

  sheet.cell_type(rowIndex,colIndex)  #返回指定单元格的类型 等同于 cell.ctype,excel中对应的单元格类型如下: 

    XL_CELL_BLANK = 6  # 空(这种情况目前没有测试出来,不知道什么时候会出现这种情况)
    XL_CELL_BOOLEAN = 4 # 布尔
    XL_CELL_DATE = 3    # 日期
    XL_CELL_EMPTY = 0    # 空 (测试了下,当单元格不输入任何内容时为empty,输入空格,会当成text类型处理)
    XL_CELL_ERROR = 5   # 错误
    XL_CELL_NUMBER = 2   # 数字
    XL_CELL_TEXT = 1    # 字符串

  sheet.cell_value(rowIndex,colIndex)     # 返回指定单元格的值 等同于 cell.value

  sheet.col(colIndex)  # 返回指定列单元格信息列表

  sheet.col_slice(colIndex, start_rowIndex, end_rowIndex)  # 返回指定列中指定行对应的单元格信息列表

  sheet.col_types(colIndex, start_rowIndex, end_rowIndex) # 返回指定列中指定行对应的单元格的类型列表

  sheet.col_values(colIndex, start_rowIndex, end_rowIndex) # 返回指定行中指定列对应的单元格的值列表

  sheet.get_rows()  # 返回一个行的生成器对象

  sheet.row(rowIndex)  # 返回指定行单元格信息列表

  sheet.row_len(rowIndex)  #返回指定行单元格数量

  sheet.row_slice(rowIndex, start_colIndex, end_colIndex)  # 返回指定行中指定列对应的单元格信息列表

  sheet.row_types(rowIndex, start_colIndex, end_colIndex)  # 返回指定行中指定列对应单元格类型

  sheet.row_values(rowIndex, start_colIndex, end_colIndex)  # 返回指定行中指定列对应的单元格值列表

  sheet.put_cell(rowIndex, colIndex,type,text,xf_index)  #行号,列号,单元格类型,单元格值,xf_index: 字体,对齐,一般设置为None即可

  sheet.nrows  # nrows属性 返回总行数

  sheet.ncols  # ncols 属性 返回总行数

4、调用xlwt的Sheet的write函数,写入新的excel文件

  wbook = xlwt.Workbook()

  wsheet = wbook.add_sheet(sheet_name)

  style = xlwt.easyxf("align:vertical center, horizontal center")

  for r in range(sheet.nrows):

    for c in range(sheet.ncols):

      wsheet.write(r,c, sheet.cell_value(r,c),style)

  wbook.save(newFile)

  

免责声明:文章转载自《python读写excel》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#操纵Excel,此工作薄包含嵌入对象,Office 2007的设定方法Java高级应用简笔下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

中国裁判文书网全网最新爬虫分析

本文主要介绍交流一下裁判文书网的爬去规则,我主要是因为公司要求而去分析这个网站的,一看是看该网站服务器各种卡,蛋疼。用python的selenium模块去写太麻烦了,做不到大量爬取,迫不得已自己不断研究,终于攻破了该网站的js代码参数     思路主要通过python去破解网站js的加密数据。该网站请求数据都是通过post请求的,分析一下he...

离线安装python的ibm_db模块

目前手头的项目是一个UI自动化框架,其中有些模块的功能需要与DB2数据库交互,于是百度了一下python操作DB2的模块是 ibm_db。 然而我的工作机器是一台windows堡垒机,不能联网,固不能直接使用pip进行安装,所以只能使用离线安装包了。 百度了一下,由于ibm_db模块的安装依赖于其他文件,所以需要下载好几个文件,按照百度上的方法试了一通,然...

Java 使用stringTemplate导出大批量数据excel(百万级)

目前java框架中能够生成excel文件的的确不少,但是,能够生成大数据量的excel框架,我倒是没发现,一般数据量大了都会出现内存溢出,所以,生成大数据量的excel文件要返璞归真,用java的基础技术,IO流来实现。 如果想用IO流来生成excel文件,必须要知道excel的文件格式内容,相当于生成html文件一样,用字符串拼接html标签保存到文本文...

《Python》网络编程之客户端/服务端框架、套接字(socket)初使用

一、软件开发的机构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:QQ、微信、网盘等这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯,而这两个分类又对应了两个软件开发的架构 1、C/S架构 C/S即:Client与Server,...

python安装matplotlib:python -m pip install matplotlib报错

matplotlib是python中强大的画图模块。 首先确保已经安装python,然后用pip来安装matplotlib模块。 进入到cmd窗口下,建议执行python -m pip install -U pip setuptools进行升级。 接着键入python -m pip install matplotlib进行自动的安装,系统会自动下载安...

python之路

引子 学如逆水行舟,不进则退. Python Python开发【第一篇】:初识 Python开发【第二篇】:基本数据类型 Python开发【第三篇】:函数 Python开发【第四篇】:文件处理 Python开发【第五篇】:python常用模块 Python开发【第六篇】:面向对象 Python开发【第七篇】:网络编程 Python开发【第八篇】:进程、...