在我的应用程序中,我生成了许多值(三列,类型为int,str和datetime,请参见下面的示例),并将这些值存储在平面文件中逗号分隔的字符串。此外,我存储一个包含值的类型的文件(见下文)。现在,如何使用这些信息将我的值从平面文件转换为Python中正确的数据类型?是可能的还是我需要做一些其他的东西?使用类型()信息来将值存储为字符串
数据文件:
#id,value,date
1,a,2011-09-13 15:00:00
2,b,2011-09-13 15:10:00
3,c,2011-09-13 15:20:00
4,d,2011-09-13 15:30:00
类型的文件:
id,<type 'int'>
value,<type 'str'>
date,<type 'datetime.datetime'>
虽然这**确实**正确地回答了这个问题,这是一个非常糟糕的方法。它有许多限制。例如,它仅限于默认的单参数转换。例如,更改日期时间格式会导致使用可以应用于输入的格式字符串创建闭包。这很快就会变成相当复杂的代码,这样即使有更简单的选择,getattr()和cls()也可以被强制使用。 –
“type”不应该被称为 – dugres
顺便说一下,指定从类型(a)获得'int'而不是(假设a是一个int类型的变量)可能会很有用, (一个名字__。但是,对于类型如,它将返回'float64'而不是'numpy.float64'。因此,根据情况,你也可以使用str(type(anObject))。split(“'”)[1]。 –