在我的應用程序中,我生成了許多值(三列,類型爲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]。 –