python ---- 数据持久化之Excel

利用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')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值