Google Colab中读取txt数据传入均值函数替换硬编码值
实现方法
你只需要把文件读取逻辑整合到主程序里,将读取到的文本内容逐行转换为数值类型,生成列表赋值给donations即可。注意文件读取到的内容默认是字符串格式,必须做类型转换才能传入求和函数计算。
完整可运行代码
# 均值计算函数 def calculate_mean(numbers): s = sum(numbers) N = len(numbers) mean = s / N return mean if __name__ == '__main__': filename = '/content/drive/MyDrive/ColabNotebooks/data.txt' donations = [] # 读取txt文件内容 with open(filename) as file_object: lines = file_object.readlines() # 逐行处理文本,生成数值列表 for line in lines: # 清除每行首尾的换行符、空格等空白字符 content = line.strip() # 跳过空行避免转换报错 if not content: continue # 文本转数值:存整数用int,存小数替换为float即可 donations.append(int(content)) # 原有计算逻辑无需修改 mean = calculate_mean(donations) N = len(donations) print('Mean donation over the last {0} days is {1}'.format(N, mean))
常见问题排查
- 运行报
ValueError转换错误:检查txt文件内是否存在非数值内容,若存储的是带小数的数值,把代码里的int(content)替换为float(content) - 运行报文件不存在错误:先确认Colab已完成Google Drive挂载,可单独运行
!ls /content/drive/MyDrive/ColabNotebooks/命令,检查输出列表中是否存在data.txt,核对路径拼写 - 计算结果不符合预期:在列表生成完成后加
print(donations)打印列表,核对数值和文件存储内容是否一致,再调整文本处理逻辑
内容的提问来源于stack exchange,提问作者g.senorsenor
相关产品推荐
相关产品推荐

