如何使用Python遍历Excel文件各工作表并计算跨表分布的数值
解决方案
推荐使用openpyxl库实现需求,这是Python生态中处理.xlsx格式Excel文件最常用的第三方库,操作逻辑简单对新手友好。
1. 安装依赖
打开命令行终端执行以下命令完成安装:pip install openpyxl
2. 完整示例代码(含注释)
from openpyxl import load_workbook # 加载Excel文件,替换为你自己的文件路径 # 如果文件和脚本在同一文件夹,直接写文件名即可,比如"数据.xlsx" wb = load_workbook("你的Excel文件路径.xlsx") # 用于存储所有工作表读取到的数值,方便后续计算 all_values = [] # 遍历所有工作表 for sheet in wb.worksheets: # 读取当前工作表A1单元格的内容 a1_content = sheet["A1"].value print(f"工作表[{sheet.title}]的A1内容:{a1_content}") # 如果A1是单数值,直接添加到列表 # 如果A1是逗号/空格分隔的多组数值,用下方注释的代码拆分转格式 # a1_content = list(map(float, a1_content.split(","))) # 按逗号拆分 all_values.append(a1_content) # 这里替换为你需要的计算逻辑,以下是常见计算示例 # 计算总和 total = sum(all_values) print(f"所有A1数值总和:{total}") # 计算平均值 average = total / len(all_values) print(f"所有A1数值平均值:{average}") # 计算最大值 max_val = max(all_values) print(f"所有A1数值最大值:{max_val}") # 如果需要把计算结果写回Excel,可添加如下代码,最后保存即可 # sheet["B1"] = total # wb.save("保存结果的文件路径.xlsx")
注意事项
- 如果你的Excel是.xls格式的旧版文件,替换使用
xlrd库即可,遍历工作表、读取单元格的逻辑基本一致 - 如果A1单元格存在空值、非数值内容,建议提前加条件判断过滤,避免计算时报错
如果你A1单元格内存储的是用分隔符分开的多组数值,读取后先用
split()方法按分隔符拆分,再转成数值格式即可正常计算。
内容的提问来源于stack exchange,提问作者user16681015
相关产品推荐
相关产品推荐

