什么类型是val_dict.get(filename)[1]
?我不断收到这个Typeerror,告诉我它是一个NoneType:
TypeError: unsupported operand type(s) for *: 'float' and 'NoneType'
当我尝试使用此行运行脚本时:
water = (float(x1[count]) * (val_dict.get(filename[1]))
我一直在收到错误。我曾尝试拨打float
,int
和str
,但显然没有帮助。
我编写了一个脚本,用于从Excel电子表格中导入某些值并进行缩放。之后我的脚本应该将这些值提取到一个新的excel电子表格中,而我认为最简单的方法是将所有数据存储在如下字典中:
val_dict[filename] = [model, lenghtvalue, dispvalue, Froudemax, Froudemin]
return val_dict
val_dict = locate_vals()
print val_dict
#output:
{'C:/eclipse/TST-folder\\Test spreadsheet model 151B WL3.xls': [u'M151B', 14.89128, 316.29, 1.0, 0.4041900066850382], 'C:/eclipse/TST-folder\\FolderA\\Test spreadsheet model 151 WL1 Lastet.xls': [u'M151', 14.672460000000001, 316.28887, 1.0, 0.4041900066850382]}
如果有趣的话,x1-list的输出如下所示:
[0.35714285714285715, 0.35714285714285715] [1.5845602477694463e-07, 1.5845602477694463e-07]
答案 0 :(得分:1)
val_dict[filename]
是一个可以编入索引的数组,但filename
不是。
P.S。
我认为以下图片可能有所帮助(来自博客文章29 common beginner Python errors on one page)。
答案 1 :(得分:0)
问题是这一行:
water = (float(x1[count]) * (val_dict.get(filename[1]))
应该是:
water = (float(x1[count]) * (val_dict.get(filename)[1]))