python - 从输入文件将字符串转换为浮点数时遇到问题
问题描述
我正在尝试使用以下python代码将文件中的一些浮动值填充到元组中:
with open(filename, 'r') as file:
i=0
lines = file.readlines()
for line in lines:
if (line != None) and (i != 0) and (i != 1): #ignore first 2 lines
splitted = line.split(";")
s = splitted[3].replace(",",".")
lp1.heating_list[i-2] = float(s)
i+=1
这些值来自一个 .csv 文件,其中的行如下所示:
MFH;0:15;0,007687511;0,013816233;0,023092447;
问题是我得到:
lp1.heating_list[i-2] = float(s)
ValueError: could not convert string to float:
而且我不知道出了什么问题。请照亮我。
解决方案
这可能意味着所说的。您的变量s
是一个不是浮点数的字符串。您可以尝试添加此代码段以打印/查找有问题的字符串。
try:
lp1.heating_list[i-2] = float(s)
except ValueError:
print("tried to convert {} on line {}".format(s, i))
推荐阅读
- php - 激活我的新插件后出现“标头已发送”警告
- python - Python Pandas MySQL - 为什么将数据帧写入数据库时 SQLite 速度如此之快
- apache-flink - 如何在共享相同状态的同时横向扩展 Flink?
- php - 创建推荐链接以在注册表单上自动填写用户名
- angular - 根据条件基础网格启用或禁用每行可编辑的行
- swift - NSInvalidArgumentException:-[__NSTaggedDate 成员:]:无法识别的选择器发送到实例 0x8000000000000000
- python - python Flask-Gunicorn中的多进程
- ansible - Ansible 运行 Ad Hoc 命令的首选方式
- php - 如何要求 Dokan 供应商输入其产品的尺寸和重量?
- c# - VS2019 - 配置中缺少调试选项