python程序使用openpyxl对excel文件进行批量归一化处理并储存到一个新的excel文件中
以下是一个简单的Python程序,使用openpyxl对Excel文件进行批量归一化处理,并将结果储存在一个新的Excel文件中。
首先要安装openpyxl模块,可以使用以下命令安装:
pip install openpyxl
代码如下:
import openpyxl
from openpyxl.utils import column_index_from_string
from openpyxl.utils import get_column_letter
# 打开原始Excel文件和新Excel文件
wb = openpyxl.load_workbook('原始文件.xlsx')
wb_new = openpyxl.Workbook()
# 选择要操作的工作表
ws = wb.active
ws_new = wb_new.active
# 计算每列的平均值和标准差
for col in range(1, ws.max_column + 1):
data = []
for row in range(2, ws.max_row + 1):
value = ws.cell(row=row, column=col).value
if value is not None:
data.append(value)
mean = sum(data) / len(data)
std = (sum([(x - mean) ** 2 for x in data]) / len(data)) ** 0.5
# 归一化处理每个单元格
for row in range(2, ws.max_row + 1):
value = ws.cell(row=row, column=col).value
if value is not None:
value = (value - mean) / std
ws_new.cell(row=row, column=col, value=value)
# 将新Excel文件保存
wb_new.save('新文件.xlsx')
这个程序会打开一个名为“原始文件.xlsx”的Excel文件,然后在新的Excel文件中创建一个名为“Sheet”的工作表。然后它会遍历每一列,计算每列的平均值和标准差,并将每个单元格进行归一化处理。最后,它将结果保存到一个名为“新文件.xlsx”的Excel文件中。
请注意,这个程序只处理数值数据。如果原始Excel文件中包含其他类型的数据,程序会引发异常。另外,这个程序只适用于小型Excel文件,如果处理大型Excel文件,可能会出现性能问题。
原文地址: http://www.cveoy.top/t/topic/bzuI 著作权归作者所有。请勿转载和采集!