从文件到字典读取浮点数而不是字符串

时间:2013-10-04 08:57:41

标签: python python-2.7 csv file-io dictionary

我正在从python中加载和提取数据,我希望将其存储在字典中。

我正在使用csv来编写读取数据,而在外部它只是存储为以逗号分隔的列。这很好用,但是当最初读取数据时(显然)它被读作字符串。 我可以使用两行代码将它转换为带有键和值的字典作为浮点数,但我的问题是我是否可以将数据作为浮点数直接加载到字典中。

我原来的代码是:

reader = csv.reader(open('testdict.csv','rb'))
dict_read = dict((x,y) for (x,y) in reader)

我已改为:

reader = csv.reader(open('testdict.csv','rb'))
read = [(float(x),float(y)) for (x,y) in reader]
dict_read = dict(read)

以所需方式加载数据。

那么,是否可以修改第一个dict_read = dict((x,y) for (x,y) in reader)以执行以下代码的操作?

解: 解决方案是使用map-function,它必须在可迭代对象上使用:

dict_read = dict(map(float,x) for x in reader)

1 个答案:

答案 0 :(得分:1)

试试这个:

dict_read = dict((map(float,x) for x in reader)