python读写excel文件

一、概述

Python操作excel的三个工具包如下,注意,只能操作.xls,不能操作.xlsx。

  • xlrd: 对excel进行读相关操作
  • xlwt: 对excel进行写相关操作
  • xlutils: 对excel读写操作的整合

这三个工具包都可以直接使用pip进行下载:

  • sudo pip install xlrdsudo
  • pip install xlwtsudo
  • pip install xlutils

二、使用xlrd模块读取已有的excel文件内容

xlrd是用来从一个excel文件中读取内容的模块

代码如下:


导入

import xlrd

打开excel

data = xlrd.open_workbook(‘demo.xls‘) #注意这里的workbook首字母是小写

查看文件中包含sheet的名称

data.sheet_names()

得到第一个工作表,或者通过索引顺序 或 工作表名称

table = data.sheets()[0]

table = data.sheet_by_index(0)

table = data.sheet_by_name(u‘Sheet1‘)

获取行数和列数

nrows = table.nrows

ncols = table.ncols

获取整行和整列的值(数组)

table.row_values(i)

table.col_values(i)

循环行,得到索引的列表

for rownum in range(table.nrows):

print table.row_values(rownum)

单元格

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 # 类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

value = ‘lixiaoluo‘

xf = 0 # 扩展的格式化 (默认是0)

table.put_cell(row, col, ctype, value, xf)

table.cell(0,0) # 文本:u‘xxxx‘

table.cell(0,0).value # ‘yyyy‘

三、使用xlwd模块写内容保存到新的excel文件中

xlwt只能创建一个全新的excel文件,然后对这个文件进行写入内容以及保存。但是大多数情况下我们希望的是读入一个excel文件,然后进行修改或追加,这个时候就需要xlutils了。

代码如下:


导入xlwt

import xlwt

新建一个excel文件

file = xlwt.Workbook() #注意这里的Workbook首字母是大写,无语吧

新建一个sheet

table = file.add_sheet(‘sheet name‘)

写入数据table.write(行,列,value)

table.write(0,0,‘test‘)

如果对一个单元格重复操作,会引发

returns error:
# Exception: Attempt to overwrite cell:
# sheetname=u‘sheet 1‘ rowx=0 colx=0

所以在打开时加cell_overwrite_ok=True解决

table = file.add_sheet(‘sheet name‘,cell_overwrite_ok=True)

保存文件

file.save(‘demo.xls‘)

另外,使用style

style = xlwt.XFStyle() #初始化样式

font = xlwt.Font() #为样式创建字体

font.name = ‘Times New Roman‘

font.bold = True

style.font = font #为样式设置字体

table.write(0, 0, ‘some bold Times text‘, style) # 使用样式

四、使用xlutils模块追加写入内容到已有的excel文件中(新内容追加到已有内容里面)


代码如下:


# -*- coding: cp936 -*-

import xlwt;

import xlrd;

#import xlutils;

from xlutils.copy import copy;

import xlrd

#用xlrd提供的方法读取一个已经存在的excel文件,使用"formatting_info=True"保持源文件格式不变

rexcel = xlrd.open_workbook("file.xls",formatting_info=True)

#用wlrd提供的方法获得现在已有的行数

rows = rexcel.sheets()[0].nrows

#cols = rexcel.sheets()[0].ncols

#用xlutils提供的copy方法将xlrd的对象转化为xlwt的对象

excel = copy(rexcel)

#用xlwt对象的方法获得要操作的excel中的表名(sheet),0表示第一张表,1表示第二张表。

table = excel.get_sheet(0)

values = [‘1‘,‘2‘,‘3‘]

row = rows

print row

for value in values:

# xlwt对象的写方法,参数分别是行、列、值

table.write(row,0,value)

table.write(row,1,"haha")

table.write(row,2,"lala")

row+=1

# xlwt对象的保存方法,这时便覆盖掉了原来的excel

excel.save("file.xls")

时间: 2024-12-20 11:03:03

python读写excel文件的相关文章

用Python读写Excel文件 Contents

用Python读写Excel文件 四种python处理excel模块PK 我主要尝试了四种工具,在此并不会给出他们的排名,因为在不同的应用场景下,做出的选择会不同.   XlsxWriter xlrd&xlwt OpenPyXL Microsoft Excel API 介绍 可以创建Excel 2007或更高版本的XLSX文件 即python-excel,含xlrd.xlwt和xlutils三大模块,分别提供读.写和其他功能 可以读写Excel 2007 XLSX和XLSM文件 直接通过COM组

Python读写Excel文件和正则表达式

Python 读写Excel文件 这里使用的是 xlwt 和 xlrd 这两个excel读写库. #_*_ coding:utf-8 _*_ #__author__='观海云不远' #__date__ = '2019-07-11' #读写excel import xlwt import xlrd import re workbook = xlrd.open_workbook('data.xlsx') sheet = workbook.sheet_by_index(0) data = [] for

xls2- 用Python读写Excel文件-乘法口诀

xls2- 用Python读写Excel文件 https://gitee.com/pandarrr/Panda.SimpleExcel https://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import xlrd 2.打开Excel文件读取数据

[转]用Python读写Excel文件

转自:http://www.gocalf.com/blog/python-read-write-excel.html#xlrd-xlwt 虽然天天跟数据打交道,也频繁地使用Excel进行一些简单的数据处理和展示,但长期以来总是小心地避免用Python直接读写Excel文件.通常我都是把数据保存为以TAB分割的文本文件(TSV),再在Excel中进行导入或者直接复制粘贴. 前段时间做一个项目,却不得不使用Python直接生成Excel文件,后来随着需求的变化,还要对已有的Excel文件进行读取.在

用Python读写Excel文件的方式比较

虽然天天跟数据打交道,也频繁地使用Excel进行一些简单的数据处理和展示,但长期以来总是小心地避免用Python直接读写Excel文件.通常我都是把数据保存为以TAB分割的文本文件(TSV),再在Excel中进行导入或者直接复制粘贴. 前段时间做一个项目,却不得不使用Python直接生成Excel文件,后来随着需求的变化,还要对已有的Excel文件进行读取.在这个过程中,研究并尝试了一些工具,也走了一些弯路.记录下来,下次再有类似需求的时候就不用漫天遍野地搜索了. 超级无敌大PK 我主要尝试了四

Python读写excel表格的方法二

目的:实现用python的另一种方法做excel的读取.新增操作. 环境:ubuntu 16.04  Python 3.5.2 情景:之前介绍了一种操作excel文件的方法(私链),现在使用另一种方法读写excel文件,一次性读出或写入,读写也很方便,读出为有序字典,像二维数组,需要用到3个第三方模块,pyexcel-io, pyexcel-xls, xlrd,主要导入pyexcel-xls和collections,pyexcel-xls基于xlrd和pyexcel-io,所以支持xls和xls

R读写Excel文件中数据的方法

用R语言读写Excel的方法有很多,但每种方法都有让人头疼的地方,比如xlsx包的代码复杂,只支持Excel2007:RODBC不易理解,限制太多,程序不稳定,会出各种怪毛病.另存为csv格式的方法倒是比较通用比较稳定,但又存在操作麻烦,无法程序化处理多个文件的问题.提取xml也是个办法,但步骤太多代码太复杂,令人望而生畏.用剪贴板转换也不好,这同样需要人工参与,还不如存为csv. 相比之下,用gdata包来读取,配合WriteXLS写入Excel则可以很好的避开上述麻烦.这两个包都支持Exce

MFC vs2012 Office2013 读写excel文件

近期在忙一个小项目(和同学一起搞的),在这里客户要求不但读写txt,而且可以读写excel文件,这里本以为很简单,结果...废话少说,过程如下: 笔者环境:win7 64+VS2012+Office2013+MFC. 说明:读写excel文件,通常包括1.ODBC数据库实现;2.通过解析Excel表格文件;3.通过OLE/COM的几种实现方法.本文主要研究通过OLE/COM实现对Excel表格的操作. 步骤: 1.新建MFC对话框.注意勾选自动化,否则后面加入不了需要的库,导致启动服务失败等错误

python读取excel文件(xrld模块)

Python读取excel文件 一.python  xlrd模块 安装 mac 下安装python  xlrd模块 http://www.crifan.com/python_read_excel_xls_file_xlrd/comment-page-1/ python setup.py install 在mac 下出现的错误是 http://stackoverflow.com/questions/18199853/error-could-not-create-library-python-2-7