Python读 excel,使用模块xlrd
#coding=UTF-8
import xlrd
#打开一个excle文件
excle=xlrd.open_workbook('/Users/xxx/test.xlsx')
#sheets(),获取所有的sheet,返回list
print excle.sheets()
#[<xlrd.sheet.Sheet object at 0x10f7cf810>]
#获取某一个sheet
sheet=excle.sheets()[0]
print type(sheet)
#sheet_by_index()利用索引获取某个sheet
sheet=excle.sheet_by_index(0)
#sheet_by_name(),利用名字获取某个sheet
sheet=excle.sheet_by_name('sheet1')
#sheet的行数
print sheet1.nrows
#sheet的列数
print sheet1.ncols
#取第?行的值,返回list
print sheet1.row_values(0)
#[u'xiaoming', 18.0] ---》 Unicode格式
#取第?列的值,返回list
print sheet1.col_values(0)
#[u'xiaoming', u'xiaohong ']
#取单元格cell(行,列)
print sheet1.cell(0,1).value
#18.0
#取单元格cell_value(行 ,列)
#取sheet的某一个单元
print sheet.cell_value(1,2)
print sheet.row(1)[2].value
print sheet.col(2)[1].value
使用xlwt模块,对excle进行写操作
import xlwt
#不支持直接操作xlsx文件
#1、先定义一个对象
wkbw=xlwt.Workbook()
#2、添加一个sheet
sheetw =wkbw.add_sheet('new_sheet')
#3、再往单元格里面写内容
sheetw.write(0,0,'hello python')
#4、最后保存文件
wkbw.save('/Users/xxx/write_test.xls')
覆盖写入单元格
import xlwt
#定义一个对象
wkbw=xlwt.Workbook()
#添加一个sheet,并且cell_overwrite_ok=True,单元格覆盖写入为真
sheetw=wkbw.add_sheet('new_sheet2',cell_overwrite_ok=True)
#写入,覆盖写入
sheetw.write(0,0,'hello python')
sheetw.write(0,0,'hello world')
#保存
wkbw.save('/Users/xxx/write_test.xls')
使用xlutils模块对excle进行修改
from xlutils import copy
#定义一个对象
wkb = xlrd.open_workbook('/Users/xxx/test.xls')
#先copy
wkb_copy=copy.copy(wkb)
#获取sheet
sheet = wkb_copy.get_sheet(0)
#写入操作
sheet.write(0,0,'name')
sheet.write(0,1,'age')
#保存为原来的名字,覆盖原文件
wkb_copy.save('/Users/xxx/test.xls')
构造数据
写一个excle生成testuser1001-testuser2000
#创建一个对象
create_num = xlwt.Workbook()
#添加一个sheet
sheet =create_num.add_sheet('testusers')
#遍历1001-2000,写入
for i in xrange(1001,2001):
sheet.write((i-1001),0,'testuser'+str(i))
#保存
create_num.save('/Users/xxx/tset_num.xls')