xlrd模块:只能读xls文件
data = xlrd.open_workbook('excelFile.xls') 打开excel文件
获取表
r_sheet = data.sheet_names() 获取所有的表名
table = data.sheets()[0] 通过索引获取表
table = data.sheet_by_index(0) 通过索引获取表
table = data.sheet_by_name(u'Sheet1') 通过表名获取表
获取数值
table.row_values(i) 获取整行的值
table.col_values(i) 获取整列的值
nrows = table.nrows 获取行数
ncols = table.ncols 获取列数
cell_A1 = table.cell(0,0).value 获取单元格的值
cell_A1 = table.cell_value(0, 0) 获取单元格的值
cell_A1 = table.row(0)[0].value 使用行索引获取单元格值
cell_A2 = table.col(1)[0].value 使用列索引获取单元格值
xlwt模块:只写xls文件
excel = xlwt.Workbook() 初始化一个excel文件
sheet = excel.add_sheet() 新加一个sheet表
sheet.write(0,0,value) 写入数据
excel.save(path) 保存excel文件
xlutils模块:可以修改excel文件
from xlutils improt copy
book1 = xlrd.open_workbook(file)
book2 = copy.(book1) 拷贝原来的一份excel
sheet = book2.get_sheet(i) 通过索引获取表
sheet.write(0,0,value) 写入数据
sheet.save(file) 保存
openpyxl模块:可以操作xlsx 2016
读改
from openpyxl import load_workbook 读取已有文件
excel=load_workbook('E:/test.xlsx') 打开文件
table = excel.active或excel.get_active_sheet() 获取默认表
table = get_sheet_names() 获得所有sheet的名称
table = excel.get_sheet_by_name('Sheet1') 根据表名获取表
sheet.title 获取sheet名
ws1 = wb.create_sheet() 创建sheet
ws2 = wb.create_sheet(0) 插在0前创建
rows=table.max_row 获取行数
cols=table.max_column 获取列数
b4 = sheet['B4'] 获取某个单元格的值,观察excel发现也是先字母再数字的顺序,即先列再行
Data=table.cell(row=row,column=col).value 获取单元格值
from openpyxl.utils import get_column_letter, column_index_from_string
get_column_letter(2) 写入文件
from openpyxl import Workbook
wb = Workbook() 新建了一个新的工作表(只是还没被保存)
sheet.cell(row=2,column=5).value=99 写入数据 (row,column 是从1,1 开始)
sheet.cell(row=3,column=5,value=100) 写入数据
ws.append([‘This is A1’, ‘This is B1’, ‘This is C1’]) 逐行添加
ws.append({‘A’ : ‘This is A1’, ‘C’ : ‘This is C1’})
ws.append({1 : ‘This is A1’, 3 : ‘This is C1’})