python 求excel每列平均值并追加写入到最后一行 读取 修改 表格

这篇博客介绍了如何使用Python的xlrd和xlutils库读取Excel文件,获取数据行数和列数,并计算每列的平均值。代码示例详细展示了读取表格、计算平均值的步骤,并将结果写回Excel文件,为数据处理提供了一个基础模板。
摘要由CSDN通过智能技术生成

 

# -*- encoding: utf-8 -*-
# 读取excel表格
import xlrd
from xlutils.copy import copy

## 第一步,读取
# excel表格在哪里
filename = "./students.xls"
workbook = xlrd.open_workbook(filename)
sheetnames = workbook.sheet_names()
sheetwork = workbook.sheet_by_name(sheetnames[0])

# 行数
nrows = sheetwork.nrows
# 列数
ncols = sheetwork.ncols
print("nrows", nrows)
print("ncols", ncols)

allData_list = []
for i in range(nrows):
    new_row_list = []
    for j in range(ncols):
        data = sheetwork.cell_value(i, j)
        new_row_list.append(data)
    allData_list.append(new_row_list)

print(allData_list)


# 第二步,求平均
# 首先得知道你从哪里开始计数
# 参数初始化
start_r_idx = 1
start_c_idx = 1

# 求每列平均
all_avg_per_col = {}

for m_col in range(start_c_idx, ncols):
    one_col_sum = 0
    for m_row in range(start_r_idx, nrows):
        one_col_sum += allData_list[m_row][m_col]
    one_col_avg = one_col_sum / (nrows - start_r_idx)
    print(one_col_avg)
    all_avg_per_col[m_col] = one_col_avg

print(all_avg_per_col)

# 第三步,输出保存


# 找到需要更该的xls
# 对数据表格进行复制
old_content = copy(workbook)
# 定位到Sheet1表
ws = old_content.get_sheet(0)
# 在sheet1表中写入内容
ws.write(nrows, 0, 'avg')
for m_col in range(start_c_idx, ncols):
    """对excel进行修改/添加内容"""
    ws.write(nrows, m_col, all_avg_per_col[m_col])

# 对修改后的内容进行保存
old_content.save(filename)

 

https://www.cnblogs.com/Teachertao/p/10426265.html

https://www.bilibili.com/video/av838723734

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件工程小施同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值