寫 SPSS文件系統

寫入 SPSS 系統文件(.sav.zsav

以下為相關的 SPSS 命令(以大寫形式 CAPS 呈現)

savFileName : str

SPSS 數據文件的文件名
.sav 結尾的文件使用舊版壓縮方案壓縮。
_uncompressed.sav 結尾的文件不壓縮,這在需要用更快的 savReaderWriter.SavReaderNp 類讀取文件時非常有用
.zsav 結尾的文件使用 ZLIB(ZSAV)壓縮方案(需要 v21 及以上版本的 SPSS I/O 文件支持)

varNames : list

變量名的字符串列表,按其在 SPSS 數據文件中應顯示的順序排列
list of of strings of the variable names in the order in which they should appear in the spss data file

varTypes : dict

變量類型字典 {varName: varType}
varType == 0 → 數值型
varType > 0 → 該長度(以字節為單位)的字符型

valueLabels : dict, 可選

值標簽字典 {varName: {value: label}}
對應 SPSS 中的 VALUE LABELS 命令

varLabels : dict, 可選

變量標簽字典 {varName: varLabel}
對應 SPSS 中的 VARIABLE LABELS 命令

ioUtf8 : bool, int, 可選

指示與 I/O 模塊通信的文本模式
涉及 SPSS 中的 unicode 模式(SET UNICODE=ON)和代碼頁模式(SET UNICODE=OFF)

代碼頁模式:ioUtf8=CODEPAGE_MODE、ioUtf8=0 或 ioUtf8=False,使用當前 ioLocale 設置確定讀寫數據的編碼
標準 unicode 模式:ioUtf8=UNICODE_UMODE、ioUtf8=1 或 ioUtf8=True,使用 Unicode 編碼(UTF-8)讀寫數據,返回 unicode 字符串
字節 unicode 模式:ioUtf8=UNICODE_BMODE 或 ioUtf8=2,類似標準 unicode 模式,但返回 byte 字符串。

注意:
以 Unicode 編碼保存的數據文件無法被 16 版之前的 IBM SPSS Statistics 讀取
Unicode 模式自 IBM SPSS Statistics 21 版起成為默認模式
unicode 模式下打開代碼頁編碼的 SPSS 數據文件,或在代碼頁模式下以 Unicode 格式保存數據文件時,定義的字符串寬度會自動三倍化

mode : str, 可選

指示打開 savFileName 的模式:
wb → 寫入
ab → 追加
cp → 復制:使用 refSavFileName 作為參考文件初始化表頭(對應 SPSS 中的 APPLY DICTIONARY 命令)

注意:
默認是 wb,即寫入

formats : dict, 可選

格式字典 {varName: printFmt}
對應 SPSS 中的 FORMATS 命令

missingValues : dict, 可選

缺失值字典 {varName: {missing value spec}},對應 SPSS 中的 MISSING VALUES 命令

measureLevels : dict, 可選

測量級別字典 {varName: }
對應 SPSS 中的 VARIABLE LEVEL 命令
有效級別:“unknown”、“nominal”(名義)、“ordinal”(有序)、“scale”(刻度)、“ratio”(比率)、“flag”(標記)、“typeless”(無類型)

注意:
若使用 measureLevels,則必須同時設置 columnWidths 和 alignments
附錄中有介紹 nominal

columnWidths : dict, 可選

列顯示寬度字典 {varName: }
對應 SPSS 中的 VARIABLE WIDTH 命令
默認值:None → 字符串變量≥10,數值變量自動調整

alignments : dict, 可選

變量對齊方式字典 {varName: <left/center/right>}
對應 SPSS 中的 VARIABLE ALIGNMENT 命令(默認值:None → 左對齊)

varSets : dict, 可選

集合字典 {setName: list_of_valid_varNames}
對應 SPSS 中的 SETSMR 命令

varRoles : dict, 可選

變量角色字典 {varName: varRole}
varRole 可取值:‘both’(兩者)、‘frequency’(頻率)、‘input’(輸入)、‘none’(無)、‘partition’(分區)、‘record ID’(記錄 ID)、‘split’(拆分)、‘target’(目標)
對應 SPSS 中的 VARIABLE ROLE 命令

varAttributes : dict, 可選

變量屬性字典 {varName: {attribName: attribValue}}
對應 SPSS 中的 VARIABLE ATTRIBUTES 命令

fileAttributes : dict, 可選

文件屬性字典 {attribName: attribValue}
對應 SPSS 中的 FILE ATTRIBUTES 命令

fileLabel : dict, 可選

文件標簽字符串,若未指定,默認值為 “文件由用戶 在 創建”
對應 SPSS 中的 FILE LABEL 命令

multRespDefs : dict, 可選

多重響應集定義(二分組或類別組)字典 {setName: }
在 SPSS 語法中,setName 以美元符號為前綴(如 $someSet)
對應 SPSS 中的 MRSETS 命令

caseWeightVar : str, 可選

設置為個案權重的有效變量名(對應 SPSS 中的 WEIGHT BY 命令)

overwrite : bool, 可選

指示是否覆蓋已存在的 SPSS 文件。

ioLocale : bool, 可選

指示 I/O 模塊的區域設置,對應 SPSS 中的 SET LOCALE 命令
默認值:None,等同于 locale.setlocale(locale.LC_CTYPE)

refSavFileName : str, 可選

用于初始化表頭(即 SPSS 數據字典)的參考文件,包含變量標簽、值標簽、缺失值等定義。
僅在 mode=cp 時有效

示例一

import savReaderWriter as srwrecords = [['Test1', 1, 1], ['Test2', 2, 1]]
varNames = ['var1', 'v2', 'v3']
varTypes = {'var1': 5, 'v2': 0, 'v3': 0}
savFileName = 'someFile.sav'
with srw.SavWriter(savFileName, varNames, varTypes, ioUtf8=True) as writer:for record in records:writer.writerow(record)

示例二

# -*- coding: utf-8 -*-import savReaderWriter as srwrecords = [['中國', 1, 1], ['世界', 2, 1]]
varNames = ['第一列', '第二列', 'v3']
varTypes = {'第一列': 5, '第二列': 0, 'v3': 0}
savFileName = 'someFile.sav'
print(str(type(varNames[0])), varNames[0])
with srw.SavWriter(savFileName, varNames, varTypes, ioUtf8=True) as writer:for record in records:

項目用法

# -*- coding: utf-8 -*-import savReaderWriter as srwvarNames = [ "V_1", "V_2", "V_3", "V_4", "V_5", "V_6", "V_7", "V_8", "V_9", "V_10", "V_11", "V_12", "V_13", "Q_1", "Q_2", "Q_3", "Q_3_blank", "Q_4_1", "Q_4_2", "Q_4_3", "Q_4_3_blank", "Q_5", "Q_5_blank", "Q_6", "V_14", "V_15", "V_16", "V_17", "V_18" ]
varTypes = {"V_2":1024,"Q_1":1024,"Q_6":1024,"V_10":1024,"Q_3_blank":1024,"V_11":1024,"V_13":1024,"Q_5_blank":1024,"V_14":1024,"V_3":1024,"V_7":1024,"Q_4_3_blank":1024,"V_6":1024,"V_8":1024,"Q_4_3":0,"V_16":1024,"V_18":1024,"Q_4_1":0,"Q_4_2":0,"Q_5":0,"V_17":1024,"V_5":1024,"V_12":1024,"Q_2":1024,"Q_3":0,"V_15":1024,"V_1":1024,"V_4":1024,"V_9":1024}
savFileName = "someFile.sav"
records = [["1","71754401533","211","2025-06-10 02:06:41","57.80","中國,安徽,合肥","wj.demo.com","Windows","\"2054401533591\"","\"2154401533591\"","cn","0","strategy_A","煗荶尥嫄蛛","https://data.demo.net/ouf-SoaYmr58gYP8RdAqo3E2mC.png",2,"-","0","0","1","閭璄巿嬦恅馮肇緁獫淇","1","-","鄇卩痾蝻爣傶鮩膳頎庻存搾鐛泗芪铔帄蛣俒炯軸賃潀壖晦踵嫝慈覞胄礖鮭鏇忥唹貰厖","-","liuhua","liuhua@demo.com","服務端","{\"key2\":\"demo2\",\"key1\":\"demo1\"}"],["2","71754400942","271","2025-06-10 01:56:45","97.45","中國,海南,海口","wj.demo.com","Solaris","\"2054400942130\"","\"2154400942130\"","cn","0","strategy_B","妽鈘抌鬙皤梟伾","https://data.demo.net/ouf-g2GYAK6XJStHxUErsoK9gE.png",3,"監","1","1","0","-","1","-","賜燗錆喬梼嘴埪衂羌蕌姝抇毅瀝堗謫孀諓焩驋悾岄腎頜珶団磛鉡縫鹖襵覺渞鈠剴媲捹褎閱茾胩帷譼義顢惕楛孯","-","zhaohua","zhaohua@demo.com","服務端","{\"key1\":\"demo1\",\"key2\":\"demo2\"}"]]
varLabels = {"Q_3_blank":"3.不計分單選_選項填空","V_1":"序號","V_2":"response_id","V_4":"提交時間","V_7":"渠道來源","Q_2":"2.不計分上傳","V_18":"額外投放信息","Q_3":"3.不計分單選","Q_4_1":"4.不計分多選_選項1","Q_4_2":"4.不計分多選_選項2","V_15":"username","Q_5":"5.不計分下拉","Q_6":"6.不計分長文本","V_14":"回收渠道(custom)","V_16":"email","Q_4_3":"4.不計分多選_其他","Q_4_3_blank":"4.不計分多選_其他_選項填空","Q_1":"1.不計分填空","V_5":"分數","V_12":"無效答卷","V_6":"地區","V_8":"操作系統","Q_5_blank":"5.不計分下拉_選項填空","V_3":"作答時間","V_10":"device_id","V_17":"department","V_9":"user_id","V_11":"作答語言","V_13":"命中質量管理策略"}
valueLabels = {"Q_3":{3:"其他",-3:"未作答",1:"選項1",2:"選項2"}}
with srw.SavWriter(savFileName, varNames, varTypes, varLabels=varLabels, valueLabels=valueLabels, ioUtf8=True) as writer:for record in records:writer.writerow(record)

附錄

nominal

在統計、數據科學及 SPSS 等場景中最常見的中文翻譯是:名義
它通常用于描述數據的測量級別(measurement level),指 “名義型數據” 或 “分類數據”
數據僅用于區分不同類別,類別之間無順序或大小關系,例如:性別(男 / 女)、職業類型、顏色分類等都屬于名義型數據。

vim看二進制格式

看格式::%!xxd
看格式反轉::%!xxd -r
看隱藏字符:set list

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918225.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918225.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918225.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

云服務器--阿里云OSS(1)【阿里云OSS簡單介紹以及環境準備】

一、阿里云OSS簡介 定義&#xff1a;阿里云OSS&#xff08;Object Storage Service&#xff09;是阿里云提供的對象存儲服務&#xff0c;支持海量數據的存儲和管理。 存儲方式&#xff1a;基于“對象存儲”&#xff0c;文件以對象形式存儲&#xff0c;無需管理文件系統結構。 …

R語言代碼加密(1)

1、使用Compiler包library(compiler) cmpfile("1.R")#實現對R腳本的整體加密 compiler::loadcmp("1.Rc")#調用R腳本存在問題是&#xff0c;該方法僅對腳本進行加密。在加載生成的Rc文件后&#xff0c;腳本內具體函數&#xff0c;是可以看到具體內容的。針對…

【面試場景題】通過LinkedHashMap來實現LRU與LFU

文章目錄一、LRU與LFU的概念1. LRU&#xff08;Least Recently Used&#xff0c;最近最少使用&#xff09;2. LFU&#xff08;Least Frequently Used&#xff0c;最不經常使用&#xff09;二、LinkedHashMap的特性三、用LinkedHashMap實現LRU實現代碼&#xff1a;原理說明&…

第5章 Excel公式與函數應用指南(2):數學函數

5.2 數學函數 Excel作為強大的數據處理工具,其內置的數學函數體系為用戶提供了豐富的計算能力。從基礎的四則運算到復雜的指數對數計算,從簡單的數值舍入到專業的矩陣運算,Excel的數學函數幾乎可以滿足各類計算需求。 本節將重點為您解析七個常用且實用的數學函數:求和函…

mysql復制連接下的所有表+一次性拷貝到自己的庫

1.導出鏈接下的所有數據mysqldump -h 地址 -u 數據庫名 -p --all-databases --single-transaction --master-data2 > all_dbs.sql2.導入自己的庫mysql -h 127.0.0.1 -u root -p < all_dbs.sql3.指定導出某些庫mysqldump -u root -p --databases db1 db2 db3 > /path/t…

開發手札:UnrealEngine和Unity3d坐標系問題

最近把一套網絡模塊和一套組件模塊從u3d改造到ue4。網絡模塊通用性很高&#xff0c;畢竟協議都是通用網絡協議&#xff0c;改造后沒啥問題。但是改造組件模塊的時候就遇到了問題。首先&#xff0c;unity3d的坐標系是標準左手坐標系&#xff0c;如下&#xff1a;同時自己的幾何算…

QML 鼠標穿透

事件&#xff1a; 有一個輸入框(TextField)&#xff0c;需要實現鼠標懸浮時改變邊框顏色&#xff0c;鼠標移出后恢復原來邊框顏色&#xff1b; 這時如果需要實現此功能&#xff0c;就得使用到MouseArea&#xff0c;鼠標操作區域填充滿整個TextField。 然后實現鼠標移入移入出的…

VR 設備 PCB 怎樣憑借高頻材料達成高速傳輸

VR 設備的沉浸式體驗依賴于高分辨率圖像與低延遲交互&#xff0c;這要求設備內部數據傳輸速率達到 10Gbps 以上&#xff0c;而印制線路板&#xff08;PCB&#xff09;作為信號傳輸的核心載體&#xff0c;其材料性能直接決定傳輸效率。高頻材料憑借低介電常數&#xff08;Dk&…

Oracle字段操作

1. 新增字段 -- 新增字段 ALTER TABLE MES.WT_SUPPLEMENT_RECORD ADD (PAR_ATTR3 NUMBER DEFAULT NULL);2. 修改字段類型 -- 修改字段類型 ALTER TABLE MES.WT_SUPPLEMENT_RECORD MODIFY (PAR_ATTR3 VARCHAR2(32));3. 刪除字段 -- 刪除字段 ALTER TABLE MES.WT_SUPPLEMENT_RECO…

【原創】基于 Flask 的簡單文件收集器

在單位內網環境中&#xff0c;我經常需要收集 pdf 格式的記錄表。于是我基于 ai ide&#xff0c;開發了一個基于 Flask 開發的輕量級文件上傳服務項目&#xff0c;部署在單位飛騰芯的銀河麒麟系統上&#xff08;當然由于 python 的跨平臺&#xff0c;在 windows 和 mac 上也可部…

學習Java的Day28

今天在昨天完成的留言板項目基礎上&#xff0c;我進一步開發了一個酒店房型管理系統。該系統采用MVC架構&#xff0c;主要功能是對酒店房型信息進行增刪改查操作。數據庫設計方面&#xff0c;我創建了hotel_room_type表&#xff0c;包含以下字段&#xff1a;id&#xff1a;主鍵…

Leetcode——556. 下一個更大元素 III

題目鏈接&#xff1a;556. 下一個更大元素 III &#xff08;由于圖片上傳失敗&#xff0c;不貼原題目了&#xff0c;有需要可以前往力扣查看&#xff09; 本文給出該題的單調棧做法&#xff0c;同時繞過所有庫函數&#xff0c;所有邏輯均自行實現。 本題的思路就是從右向左按…

Idea打包可執行jar,MANIFEST.MF文件沒有Main-Class屬性:找不到或無法加載主類

背景&#xff1a;IDEA傳統方法【Project structure】-->artifact---->build的模式&#xff0c;打包【Maven】項目&#xff0c;發現生成的可執行jar包&#xff0c;顯示【找不到或無法加載主類】。但是用【Maven】的Assembly可以正常生成。期望用傳統方法實現打jar包方法&a…

檢索增強生成:RAG(Retrieval Augmented Generation)

什么是 RAG&#xff1f;為什么使用 RAG&#xff1f;LLM 微調 和 RAG&#xff1f;實戰什么是 RAG&#xff1f; RAG 在論文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中被引入&#xff0c;原論文是這樣描述的&#xff1a; 探索了一種 通用的 檢索增…

Android 設置/修改系統NTP服務地址

Android 手機的 NTP 時間同步&#xff08;網絡時間同步&#xff09;主要依賴網絡&#xff0c;但系統時間來源還包括其他方式&#xff0c;整體時間校準機制是多種來源的結合。具體可分為以下幾類&#xff1a; 1. 網絡 NTP 同步&#xff08;最主要方式&#xff09; 這是 Androi…

Ubuntu22.04 安裝vitis2023.2 卡在“Generating installed device list“.

關于這個問題&#xff0c;xilinx有官方說明&#xff0c;鏈接 原因&#xff1a;問題是 Ubuntu 20.04 缺少 libtinfo.so.5 庫。 解決辦法&#xff1a; sudo apt-get install libtinfo5

前端全棧修煉手冊:從 Vue3 到工程化的進階之路

本文將全方位覆蓋前端開發的核心知識&#xff0c;從 Vue3 框架的基礎語法到復雜的工程化實踐&#xff0c;從包管理工具的使用到模塊規范的深入理解&#xff0c;帶你踏上從入門到精通的進階之路。 Vue3 框架&#xff1a;新時代前端開發的基石 Vue3 核心語法探秘 Vue3 作為目前…

Jetpack Compose 常用控件

Jetpack Compose 常用控件一、基礎展示控件&#xff1a;呈現靜態內容二、交互控件&#xff1a;響應用戶操作三、列表與網格控件&#xff1a;展示大量數據四、導航與標簽控件&#xff1a;組織頁面結構五、反饋控件&#xff1a;提示與加載狀態六、布局控件&#xff1a;組織 UI 結…

Android適配最新SplashScreen方案:讓啟動頁不再“翻車“

Android適配最新SplashScreen方案:讓啟動頁不再"翻車" 各位開發者大佬們,最近是不是又被Android的SplashScreen適配搞得焦頭爛額?別慌,今天咱們就來聊聊這個讓人又愛又恨的啟動頁適配方案,保證讓你笑出腹肌的同時,還能把技術要點牢牢掌握![6][7][9][10] 一、…

【自動駕駛】《Sparse4Dv3》代碼學習筆記

這里時間比較有限&#xff0c;優先看Sparse4Dv3方法里面相對以前改動的地方。 0.參考 代碼v1/v2/v3:https://github.com/HorizonRobotics/Sparse4D 跑起來&#xff1a;https://github.com/HorizonRobotics/Sparse4D/blob/v3.0/docs/quick_start.md 1.方法 &#xff08;1&a…