簡體   English   中英

使用Python覆蓋SPSS變量

[英]Using Python to overwrite SPSS variable

我的SPSS數據集包含兩個名為time1time2變量,分別標記為time1time2 最終,我想使用Python讀取變量並進行修改。 作為一個簡單的測試,我試圖用"hello"替換time1每個條目。 這是我正在使用的SPSS語法:

begin program python.
import spss, spssdata

data = spssdata.Spssdata(indexes=["time1"], accessType="w")

for row in data:
    data.setvalue("time1", "hello")
    data.CommitCase()

data.CClose()
end program.

但是我收到以下錯誤:

警告:退出程序塊時檢測到打開的游標。 光標已關閉。 追溯(最近一次通話):
文件“ C:\\ PROGRA〜1 \\ PREDIC〜1 \\ PSIMAG〜1 \\ 5 \\ IBM \\ SPSS \\ STATIS〜1 \\ 25 \\ PYTHON \\ Lib \\ site-packages \\ spssdata \\ spssdata.py中的文件”“,第5行“,第467行,在setvalue索引中= [varspec [0]對於self.newvars中的varspec]。index(var)ValueError:'time1'不在列表中

我在這里想念什么? 謝謝。

我的變量:

我的變量

無法使用spssdata模塊使用Python覆蓋數據,因為它使用了spss模塊中的Cursor對象,該對象無法覆蓋變量。 可以使用Python創建一個新變量並設置其值。 然后,您也可以刪除舊變量,然后將新變量重命名為與舊變量相同的名稱。

摘自《 IBM SPSS Statistics的編程和數據管理23:IBM SPSS Statistics和SAS用戶指南》 ,第167頁:

寫入模式允許您將新變量(及其大小寫值)添加到活動數據集中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM