利用xlrd模块操作Excel
1、读取Excel文件
import xlrd #导入xlrd模块
# 读取本地csv文件,打开excel文件(默认是rb方式打开)
myWorkbook = xlrd.open_workbook('name.xlsx')
# 获取excel 工作表
mySheets = myWorkbook.sheets()
mySheet = mySheets[0] # 通过索引获取
mySheet = myWorkbook.sheet_by_index(1) # 通过索引顺序获得
mySheet = myWorkbook.sheet_by_name(u'产品类别') # 通过名字获取
# 获取行数和列数
nrows = mySheet.nrows
ncols = mySheet.ncols
print("The rows:%d" % nrows)
print("The cols:%d" % ncols)
# 获取一行和一列
for i in range(nrows):
myRowValues = mySheet.row_values(i)
print(myRowValues)
for j in range(ncols):
myColValues = mySheet.col_values(j)
print(myColValues)
# 读取单元格数据
for i in range(nrows):
for j in range(ncols):
mycell = mySheet.cell(i,j) # 获取单元格,i是行数,j是列数,行数和列数都是从0开始计数
mycellvalue = mycell.value #通过单元格获取单元格数据
print(mycellvalue)
mycellvalue = mySheet.cell_value(0,0) # 直接获取单元格数据
print(mycellvalue)
利用xlwt模块来写入Excel
一般在python中常见的一种做法是利用xlrd 模块来读取Excel的内容,利用xlwt模块来写入Excel文件内容
import xlwt #导入xlwt模块
wbk = xlwt.Workbook() #创建工作簿
sheet = wbk.add_sheet('表10') # 创建工作表
sheet.write(0,1,'test') # 第1行第2列写入内容
wbk.save('test.xls') # 保存Excel
xlutils 结合xlrd操作Excel
1、xlutils 结合xlrd 可以达到修改excel文件目的
import xlrd
from xlutils.copy import copy
workbook = xlrd.open_workbook('test.xlsx')
workbooknew = copy(workbook)
ws = workbooknew.get_sheet(0)
ws.write(3,0,'changed!')
workbooknew.save('test1.xls')
openpyxl可以对excel文件进行读写操作 (只能操作xlsx后缀的excel)
from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.writer.excel import ExcelWriter
workbook_= load_workbook('name.xlsx')
sheetnames = workbook_.get_sheet_names() # 获得表单名字
print(sheetnames)
sheet= workbook_.get_sheet_by_name(sheetnames[0])
print(sheet.cell(row=3,column=3).value)
sheet['A1'] = '47'
workbook_.save('name.xlsx')