1
所以我找到了這個網頁,介紹了不同類型的變量非常好: http://www.spss-tutorials.com/spss-variable-types-and-formats/SPSS中如何確定數字和字符串變量?
我想知道不過,當我出口我的數據是如何的數字和字符串類型是有區別的?數字和字符串映射到任何代碼?
我想在Python解析SPSS數據。
所以我找到了這個網頁,介紹了不同類型的變量非常好: http://www.spss-tutorials.com/spss-variable-types-and-formats/SPSS中如何確定數字和字符串變量?
我想知道不過,當我出口我的數據是如何的數字和字符串類型是有區別的?數字和字符串映射到任何代碼?
我想在Python解析SPSS數據。
如果你注意從下面的代碼生成的打印輸出,你會發現,字符串變量的「出口」到字符串(這並不奇怪)和數值變量轉換/導出到浮動。
然而,日期變量也轉換爲浮點數,日期表示爲自1582年10月14日以來經過的秒數 - 這是SPSS存儲日期變量的方式,但在SPSS中存在various formats日期變量可以設置爲顯示爲(當然內部存儲的浮點值保持不變)。
輸入文件可變格式:
輸入文件數據視圖:
代碼來讀取SPSS數據轉換成Python和打印結果:
get file="C:\Program Files\IBM\SPSS\Statistics\23\Samples\English\Employee data.sav".
begin program.
import spss, spssdata
allfiles = spssdata.Spssdata().fetchall()
print "\n".join([str(i) for i in allfiles])
end program.
輸出:
namedTuple(1.0, u'm ', 11654150400.0, 15.0, 3.0, 57000.0, 27000.0, 98.0, 144.0, 0.0)
namedTuple(2.0, u'm ', 11852956800.0, 16.0, 1.0, 40200.0, 18750.0, 98.0, 36.0, 0.0)
namedTuple(3.0, u'f ', 10943337600.0, 12.0, 1.0, 21450.0, 12000.0, 98.0, 381.0, 0.0)
namedTuple(4.0, u'f ', 11502518400.0, 8.0, 1.0, 21900.0, 13200.0, 98.0, 190.0, 0.0)
namedTuple(5.0, u'm ', 11749363200.0, 15.0, 1.0, 45000.0, 21000.0, 98.0, 138.0, 0.0)
namedTuple(6.0, u'm ', 11860819200.0, 15.0, 1.0,0.0, 13500.0, 98.0, 67.0, 0.0)
namedTuple(7.0, u'm ', 11787552000.0, 15.0, 1.0, 36000.0, 18750.0, 98.0, 114.0, 0.0)
namedTuple(8.0, u'f ', 12103948800.0, 12.0, 1.0, 21900.0, 9750.0, 98.0, 0.0, 0.0)
namedTuple(9.0, u'f ', 11463897600.0, 15.0, 1.0, 27900.0, 12750.0, 98.0, 115.0, 0.0)
namedTuple(10.0, u'f ', 11465712000.0, 12.0, 1.0, 24000.0, 13500.0, 98.0, 244.0, 0.0)
namedTuple(11.0, u'f ', 11591424000.0, 16.0, 1.0, 30300.0, 16500.0, 98.0, 143.0, 0.0)
namedTuple(12.0, u'm ', 12094012800.0, 8.0, 1.0, 28350.0, 12000.0, 98.0, 26.0, 1.0)
namedTuple(13.0, u'm ', 11920867200.0, 15.0, 1.0, 27750.0, 14250.0, 98.0, 34.0, 1.0)
namedTuple(14.0, u'f ', 11561529600.0, 15.0, 1.0, 35100.0, 16800.0, 98.0, 137.0, 1.0)
namedTuple(15.0, u'm ', 11987654400.0, 12.0, 1.0, 27300.0, 13500.0, 97.0, 66.0, 0.0)
...
...