python读写Excel文件--使用xlrd模块读取,xlwt模块写入
一、安装xlrd模块和xlwt模块,两种方法:
方法一:下载安装包,解压,然后使用python setup py install 安装
1. 下载xlrd模块和xlwt模块
到python官网http://pypi.python.org/pypi/xlrd下载模块。下载的文件例如:xlrd-0.9.3.tar.gz。
到python官网http://pypi.python.org/pypi/xlwt下载模块。下载的文件例如:xlwt-1.0.0.tar.gz
2. 安装xlrd模块和xlwt模块
a) 安装前提是已经安装python。
b) 分别解压下载的xlrd-0.9.3.tar.gz和xlwt-1.0.0.tar.gz到各自的目录。
c) cmd分别进入到上一步的解压目录, 分别运行python setup.py install完成安装。
方法二:通过pip命令直接安装即可
安装库:xlrd======================> 在控制台执行命令: pip install xlrd(xlrd,read,即使读取的意思)
安装库: xlwt ============================> 输入 pip install xlwt 即可(write,即使写入的意思)
二、使用xlrd模块读取Excel文件
#coding:utf-8
import xlrd
def read_excel():
workbook=xlrd.open_workbook(r'E:\share\1532400376445.xls')
print workbook.sheet_names() #获取sheet的名称
mysheets=workbook.sheets() #获取工作表
'''三种获取sheet的方法'''
mysheet=mysheets[0] #通过索引顺序取
sheet1=workbook.sheet_by_index(0) #通过索引顺序获取
# sheet1=workbook.sheet_by_name("世界杯")#通过名称获取
'''获取行数和列数'''
nrows=sheet1.nrows
ncols=sheet1.ncols
print nrows
print ncols
'''获取一行和一列'''
rows=sheet1.row_values(3)#获取第四行的内容
cols=sheet1.col_values(2)#获取第三行的内容
print rows,cols
'''读取单元格数据'''
print sheet1.cell(1,1)
print sheet1.cell(2,3) #获取数据类型+单元格数据
mycell=sheet1.cell_value(1,2) #直接获取单元格数据
print mycell
if __name__ == '__main__':
read_excel()
三、使用xlwt模块写入Excel文件
#coding:utf-8
import xlrd
import xlwt
def write_excel():
newexcel=xlwt.Workbook() #创建工作簿
sheet1=newexcel.add_sheet('sheet1',cell_overwrite_ok=True)
myStyle = xlwt.easyxf('font: name Times New Roman, color-index red, bold on', num_format_str='#,##0.00') # 数据格式
'''写入数据'''
sheet1.write(0,0,'aaa',myStyle)
sheet1.write(1,1,10,myStyle)
'''保存excel'''
newexcel.save('aaa.xls')
if __name__ == '__main__':
write_excel()
运行结果如下:
四.xlutils结合xlrd可以达到修改excel文件目的
#coding:utf-8
import xlrd
import xlwt
from xlutils.copy import copy
def copy_excel_update():
'''打开excle'''
workbook=xlrd.open_workbook(r'E:\share\1532400376445.xls')
'''复制一份excel'''
workbooknew=copy(workbook)
'''获取第一个sheet表格'''
sheet=workbooknew.get_sheet(0)
'''修改sheet表格里面的内容'''
sheet.write(0,0,'changed!')
'''另存为一个表格'''
workbooknew.save('newexcel.xls')
if __name__ == '__main__':
copy_excel_update()
运行结果如下: