原 Excel 文件中的偶数行替换成对应上下两行的平均值

2024-04-12 02:44

本文主要是介绍原 Excel 文件中的偶数行替换成对应上下两行的平均值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实现代码
import openpyxl# 打开Excel文件
input_file = 'input.xlsx'
output_file = 'input3.xlsx'
wb = openpyxl.load_workbook(input_file)
output_wb = openpyxl.Workbook()# 处理每个工作表
for sheet_name in wb.sheetnames:sheet = wb[sheet_name]# 新建一个工作表,用于存储处理后的数据output_sheet = output_wb.create_sheet(title=sheet_name)# 处理数据for row in range(1, sheet.max_row+1):if row % 2 == 0:# 计算上下两行的平均值avg_values = []for col in range(1, sheet.max_column+1):avg_value = (sheet.cell(row=row-1, column=col).value + sheet.cell(row=row+1, column=col).value) / 2avg_values.append(avg_value)# 将平均值写入新行output_sheet.append(avg_values)else:# 直接将原数据写入新行row_values = []for col in range(1, sheet.max_column+1):row_values.append(sheet.cell(row=row, column=col).value)output_sheet.append(row_values)# 保存新Excel文件
output_wb.save(output_file)

补充:取出excel的奇数行

import openpyxl# 打开Excel文件
input_file = 'input.xlsx'
output_file = 'output.xlsx'
wb = openpyxl.load_workbook(input_file)
output_wb = openpyxl.Workbook()# 选择需要处理的sheet
sheet = wb.active# 选择需要提取的行数
rows_to_extract = []
for i in range(1, sheet.max_row+1):if i % 2 == 1: # 只提取奇数行rows_to_extract.append(i)# 处理数据
output_sheet = output_wb.active
for row_num, row in enumerate(sheet.iter_rows(values_only=True), start=1):if row_num in rows_to_extract:output_sheet.append(row)# 保存新Excel文件
output_wb.save(output_file)
Excel测试数据 
0.000.004887.00
-424.880.004856.45
-132.02-406.334883.35
346.70-251.894898.29
344.51250.304867.41
-131.19403.764852.46
-690.76501.874842.30
-263.15809.894829.50
263.20810.064830.48
689.22500.744831.47
863.900.004899.42
704.53-511.874938.81
270.88-833.674971.31
-267.17-822.284903.36
-700.74-509.114912.22
-859.210.004872.83
-1151.060.004616.67
-1023.25-590.774738.92
-613.27-1062.224919.40
0.00-1242.514983.44
620.89-1075.424980.53
1071.86-618.844964.03
1223.880.004908.73
1058.03610.854899.99
541.54937.984344.01
0.001046.804198.47
-595.971032.264780.65
-1033.52596.704786.47
-1435.50639.134836.12
-1051.851168.204838.02
-332.411023.043310.63
94.67900.772787.55
466.46807.932871.24
844.75613.753213.62
1539.73327.284844.68
1415.81-300.944454.75
1180.25-857.504489.94
810.55-1403.924989.24
168.81-1606.084970.22
-488.63-1503.854866.56
-1075.01-1193.924944.54
-1446.79-644.154874.16
-1471.540.004528.93
-1683.860.004167.69
-1612.23-586.804246.50
-1490.21-1250.444814.87
-970.23-1680.494802.81
-342.68-1943.454884.40
344.76-1955.254914.07
983.72-1703.854869.57
1287.61-1080.444160.27
1428.48-519.923762.51
1577.840.003905.30
1578.08574.384156.57
913.70766.682952.15
503.66872.362493.20
168.22954.022397.70
-174.98992.382494.12
-594.311029.382941.95
-1470.701234.064751.82
-1568.93571.044132.46
-1782.31579.113842.34
-1483.851078.083760.55
-924.001271.773223.08
-353.021086.482342.26
0.00988.092025.88
296.94913.881970.16
617.63850.102154.41
936.98680.762374.61
1683.09546.873628.43
1597.420.003275.21
1515.07-492.283266.22
1367.88-993.833466.65
1195.84-1645.934171.30
744.38-2290.954938.87
0.00-2423.324968.53
-745.73-2295.124947.86
-1396.82-1922.564872.36
-1920.07-1395.024866.07
-1822.34-592.113928.63
-1801.710.003694.04
-1634.500.002831.04
-1786.48-478.693203.43
-1960.25-1131.753920.50
-1983.08-1983.084857.54
-1421.25-2461.684923.35
-729.61-2722.944882.65
0.00-2829.004899.97
748.38-2792.975008.22
1119.00-1938.163876.33
1280.92-1280.923137.61
1513.38-873.753026.76
1576.87-422.522827.57
1625.500.002815.45
1655.60443.622968.74
1316.36760.002632.72
826.61826.612024.77
543.00940.501881.01
259.34967.861735.51
0.001011.001751.10
-295.831104.051979.73
-621.751076.902153.81
-1184.761184.762902.05
-1492.59861.752985.19
-1695.68454.363040.62
-1654.86736.792789.42
-1449.211052.912758.39
-1188.421319.882734.90
-675.351169.742079.90
-343.171056.171710.05
-114.201086.561682.37
108.741034.561601.86
312.20960.861555.73
514.96891.931585.93
731.78812.731684.05
998.45725.421900.43
1477.23657.712490.01
1729.80367.682723.16
1673.680.002577.23
1625.91-345.602559.62
1530.97-681.632580.59
1379.15-1002.012625.04
1303.58-1447.782999.92
1159.26-2007.903570.22
895.03-2754.634460.05
336.80-3204.434961.58
-332.99-3168.144905.38
-986.93-3037.454917.96
-1544.05-2674.384755.26
-2117.37-2351.574872.68
-2044.93-1485.733892.27
-2263.37-1007.723815.11
-1779.88-378.322802.00
-1646.440.002535.30
-1685.080.002236.18
-1727.05-304.522327.22
-1801.18-655.582543.65
-2059.73-1189.193156.21
-2029.40-1702.873515.59
-2126.46-2534.214390.10
-1861.11-3223.544939.56
-1270.40-3490.404929.18
-653.46-3705.984993.87
0.00-3744.494969.11
640.82-3634.274897.23
978.74-2689.053797.51
1228.91-2128.533261.63
1322.60-1576.222730.53
1428.69-1198.812474.97
1546.36-892.792369.55
1620.22-589.712288.09
1635.18-288.332203.44
1689.900.002242.57
1772.68312.572388.72
1727.67628.822439.83
1336.84771.832048.50
1013.32850.271755.40
734.61875.471516.61
526.29911.561396.81
356.09978.351381.64
179.961020.581375.25
0.001036.931376.05
-189.261073.331446.33
-407.551119.731581.30
-626.491085.111662.76
-963.621148.391989.40
-1403.801177.932431.85
-1548.45894.002372.75
-1498.07545.252115.59

这篇关于原 Excel 文件中的偶数行替换成对应上下两行的平均值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/895891

相关文章

C#关闭指定时间段的Excel进程的方法

private DateTime beforeTime;            //Excel启动之前时间          private DateTime afterTime;               //Excel启动之后时间          //举例          beforeTime = DateTime.Now;          Excel.Applicat

excel翻译软件有哪些?如何高效提翻译?

你是否曾在面对满屏的英文Excel表格时感到头疼?项目报告、数据分析、财务报表... 当这些重要的信息被语言壁垒阻挡时,效率和理解度都会大打折扣。别担心,只需3分钟,我将带你轻松解锁excel翻译成中文的秘籍。 无论是职场新人还是老手,这一技巧都将是你的得力助手,让你在信息的海洋中畅游无阻。 方法一:使用同声传译王软件 同声传译王是一款专业的翻译软件,它支持多种语言翻译,可以excel

终于解决了excel操作及cspreadsheet.h问题

困扰多日的excel操作问题终于解决:利用cspreadsheet.h!在vs2005下,不能直接应用cspreadsheet.h,所以必须解决些问题先。 首先, 出现暴多错误。解决UNICODE问题,全部添加L。 [1] +++++++++++++++++++ 其次, 出现问题: error   C2664:   'SQLGetInstalledDriversW '

关于使用cspreadsheet读写EXCEL表格数据的问题

前几天项目有读写EXCEL表格的需求,我就找了大概有几种,大致分为:COM方法、ODBC方法、OLE方法、纯底层格式分析方法。由于COM方法要求必须安装有OFFICE的EXCEL组件,纯底层格式分析方法又很多功能需要自行去完善,所有最终选择了数据库的方法,用数据库的方法去存取xls格式的数据。网上有一个高手写的CSpreedSheet,看了一下提供的接口,感觉挺好用的。在使用的过程中发现几个

Excel和Word日常使用记录:

Excel使用总结 表格颜色填充: 合并单元格: 选中你要合并的单元格区域。按下快捷键 Alt + H,然后松开这些键。再按下 M,接着按 C。这个组合键执行的操作是:Alt + H:打开“主页”选项卡。M:选择“合并单元格”选项。C:执行“合并并居中”操作。 插入行: 在Excel中,插入一行的快捷键是:Windows:选择整行(可以点击行号)。按下 Ctrl + Sh

SpringBoot中利用EasyExcel+aop实现一个通用Excel导出功能

一、结果展示 主要功能:可以根据前端传递的参数,导出指定列、指定行 1.1 案例一 前端页面 传递参数 {"excelName": "导出用户信息1725738666946","sheetName": "导出用户信息","fieldList": [{"fieldName": "userId","fieldDesc": "用户id"},{"fieldName": "age","fieldDe

如何在Excel中根据单元格内容作MSnbsp;…

上篇文章,我们介绍了INDEX+SMALL+IF+ROW的数组公式组合,也就是说只要在IF中通过条件的构造,基本上就可以想提取什么条件的数据都可以,数据查询肯定得心应手。 但是,我们一起强调函数公式不是万能的,尤其是数组公式在海量数据面前,既是软肋也是硬伤,而且构造这个函数组合还需要你要具备或者能理解简单数组公式逻辑,对于在函数公式方面没有深究的人,自然是一头雾水。当然,就像“数据透视表”一样,

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(4)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(3)-CSDN博客  这节就是真正的存储数据了   理清一下思路: 1.存储路径并检查 //2进制文件类存储private static string Data_Binary_Pa

定位cpu占用过高的线程和对应的方法

如何定位cpu占用过高的线程和对应的方法? 主要是通过线程id找到对应的方法。 1 查询某个用户cpu占用最高的进程号 top -u 用户名 2 查询这个进程中占用cpu最高的线程号 top –p 进程号-H    3 查询到进程id后把进程相关的代码打印到jstack文件 jstack -l pid > jstack.txt 4 在jstack文件中通过16进制的线程id搜索到

Weibull概率分布纸(EXCEL VBA实现)

在学习Weibull分布理论的时候,希望有一张Weibull概率纸,用来学习图解法。但是在度娘上没有找到的Weibull概率纸的电子版。在书上看到的Weibull概率纸,只能复印下来使用。于是萌生了自己制作Weibull概率纸的想法,帮助自己更好地学习。 本人擅长使用各种计算机语言,C,C++,Matlab,Scilab等等,但是始终钟爱与VBA,认为VBA可以实现一切你想要的东西,由于在企业里不