excel操作之openpyxl

本文详细介绍了使用openpyxl库进行Excel文件操作的方法,包括创建、读取、更新和追加数据到Excel表格,以及如何处理单元格值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import openpyxl
def excel_2017(filename):
	wb=openpyxl.workbook.Workbook() #创建文件对象
	sheet=wb.active  ##获取第一个sheet
	sheet.title="测试2017版本" ##设定一个sheet的名字
	value = [["名称", "价格", "出版社", "语言"],
	             ["如何高效读懂一本书", "22.3", "机械工业出版社", "中文"],
	             ["暗时间", "32.4", "人民邮电出版社", "中文"],
	             ["拆掉思维里的墙", "26.7", "机械工业出版社", "中文"]]
	for i in range(4):#列表里有几个元素的个数,例如:value中有四个列表
		for j in range(0,len(value[i])): #一个列表中有几个元素,例如:["如何高效读懂一本书", "22.3", "机械工业出版社", "中文"]有四个元素
			sheet.cell(row=i+1, column=j+1, value=str(value[i][j]))
	sheet["A2"] =4 #赋值
	d=sheet.cell(row=2,column=10,value=2)
	wb.save(filename)
	print("写入成功")
def excel_read(file_read):
	wb=openpyxl.load_workbook(file_read)
	sheet=wb.get_sheet_by_name("测试2017版本")
	string="中文"
	#循环获取每个单元格
	for row in sheet.rows:
		for column in row:
			print(column.value,"\t",end="")
		print()  #换行
			# if string in column.value:
			# 	print("查询成功: ",string)
			# else:
			# 	pass
	# print(column.value) #最后一个内容
	# print(type(column.value))
def excel_2018(file2): #增加一个新的表“测试2018版本”
	wb=openpyxl.load_workbook(file2)
	sheet=wb.create_sheet()  #默认插在工作簿末尾,wb.create_sheet(0),插在工作簿第一个位置
	sheet.title="测试2018版本"
	value = [["名称", "价格", "出版社", "语言"],
	             ["如何高效读懂一本书", "22.3", "机械工业出版社", "中文"],
	             ["暗时间", "32.4", "人民邮电出版社", "中文"],
	             ["拆掉思维里的墙", "26.7", "机械工业出版社", "中文"]]
	for i in range(4):
		for j in range(0,len(value[i])):
			sheet.cell(row=i+1, column=j+1, value=str(value[i][j]))
	wb.save(file2)
	print("写入成功")
def update_2018(file1): #增删改查
	wb=openpyxl.load_workbook(file1)
	sheet=wb.get_sheet_by_name("测试2018版本")
	sheet.cell(row=10,column=10,value="康宝荣华")
	value = ["python3", "22.3", "荣华", "中文"]#在第11行加入一列数据
	for i in range(4): 
		sheet.cell(row=11,column=i+1,value=str(value[i]))
	value1=[["python3", "22.3", "22222222", "中文"],["python111", "22.3", "111111", "中文"]]
	for i in range(2):#在指定的行加入到数据
		for j in range(0,len(value1[i])):
			sheet.cell(row=12+i,column=j+1,value=str(value1[i][j]))
	wb.save(file1)
	print("写入成功")
def totle(file): #打印总的表
	wb=openpyxl.load_workbook(file)
	print(wb.get_sheet_names())
	print(wb.get_named_ranges())
	print(wb.active.max_row)
	print(wb.active.max_column)
if __name__ == '__main__':
	file_2007="测试2016.xlsx"
	excel_2017(file_2007)
	excel_read(file_2007)
	excel_2018(file_2007)
	update_2018(file_2007)
	totle(file_2007)

执行的结果如下:
表"测试2017版本"
在这里插入图片描述
表"测试2018版本"
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值