欢迎来到xiaoyufuture的博客

时钟canvas
山重水复疑无路,柳暗花明又一村。
切换亮暗主题

表格读写

四种Excel文件读写的问题场景模式 (获取数据->使用数据->数据输出)

  • 单元格读写
  • 按行读写
  • 按行取数计算
  • 按行取数存为字典

案例一:获取和处理单元格数据

场景描述:
从工作表1中获取其中一个单元格,并填写到工作表2的单元格中。

# 从openpyxl中导入load_workbook函数
from openpyxl import load_workbook

# 打开工作表1.xlsx的工作簿,获取活动工作表1
excel1 = load_workbook('./工作表1.xlsx')
sheet1 = excel1.active

# 打开工作表2.xlsx的工作簿,获取活动工作表2
excel2 = load_workbook('./工作表2.xlsx')
sheet2 = excel2.active

# 获取活动工作表1的单元格值
value1 = sheet1['D2'].value

# 写入活动工作表2中的单元格值
value2['F4'].value = value1

# 保存写入的工作簿
excel2.save('./工作表2.xlsx')

案例二:获取和处理多行数据

场景描述:
从工作表1中获取前N行数据,并原样写入到新工作表2中。

# 从openpyxl中导入load_workbook和Workbook函数
from openpyxl import load_workbook,Workbook

# 打开工作表1.xlsx的工作簿,获取活动工作表1
sheet1 = load_workbook('./工作表1.xlsx').active

# 新建工作表2.xlsx的工作簿,获取活动工作表2
excel2 = Workbook()
sheet2 = excel2.active

# 获取活动工作表1的前10行数据,并写入新的工作表2中
for row in sheet1.iter_rows(max_row=10, values_only=True):
    sheet2.append(row)

# 保存新的工作簿
excel2.save('工作表2.xlsx')

案例三: 按行取数计算

场景描述:
从工作表1中获取前N行数据,并进行处理计算。

# 从openpyxl中导入load_workbook函数和Workbook方法
from openpyxl import load_workbook,Workbook

# 打开工作表1.xlsx的工作簿,获取活动工作表1
sheet1 = load_workbook('./工作表1.xlsx').active

# 获取活动工作表1中除表头外的数据
for row in sheet1.iter_rows(min_row=2, values_only=True):
    value1 = row[0]
	value2 = row[1]
	value3 = value1 + value2
	print('value3:{}'.format(value3))

案例四:按行读取为字典

场景描述:
从工作表1中读取所需范围的行数据,取出部分信息对应存储在字典中。

# 从openpyxl中导入load_workbook函数
from openpyxl import load_workbook

# 打开工作表1.xlsx的工作簿,获取活动工作表1
sheet1 = load_workbook('./工作表1.xlsx').active

# 创建信息字典
info = {}

# 获取活动工作表1的行数据,并存入字典中
for row in sheet1.iter_rows(min_row=2, values_only=True):
    key1 = row[0]
	value1 = row[1]
	value2 = row[2]
	info[key1] = {
		'value1':value1,
		'value2':value2 }
		
print(info)

posted on 2025-07-02 20:53  xiaoyufuture  阅读(27)  评论(0)    收藏  举报

导航