python - 如何使用 Python 在 SPSS 中设置可变宽度和小数?
问题描述
我正在尝试使用 SavReaderWriter 操作一些 .sav 文件。我已经拥有的是:
with savReaderWriter.SavReader(dirIn, ioUtf8 = True) as reader:
df = pd.DataFrame(reader.all(), columns = [s for s in reader.header])
varLabels = reader.varLabels
varTypes = reader.varTypes
valueLabels = reader.valueLabels
varWidth = reader.varWids # <------------- This guy
varMeasure = reader.measureLevels
varAlignments = reader.alignments
varColumnWidths = reader.columnWidths
varMissingValues = reader.missingValues
和:
with SavWriter(savFileName = dirOut,
varNames = varNames,
varTypes = varTypes,
varLabels= varLabels,
valueLabels = valueLabels,
measureLevels = varMeasure,
columnWidths = varColumnWidths,
alignments = varAlignments,
missingValues = varMissingValues,
ioUtf8=True
) as writer:
for record in records:
writer.writerow(record)
问题是,在使用 SavWriter 部分时,我不知道如何设置在第一个代码处读取 sav 时获得的可变宽度。有谁知道我能做什么?
解决方案
我真的让它工作了!
首先,我必须在阅读 .sav 时获取格式:
varFormats = reader.formats
然后在打开 savWriter 时添加这个参数:
formats = varFormats
Kind让我的方式,因为文档没有太大帮助,但让我知道这些格式是如何工作的: https ://pythonhosted.org/savReaderWriter/index.html#formats
推荐阅读
- gitlab - Gitlab CI 如何使用不同的运行器部署到不同的环境?
- reactjs - 在 React 项目中安装依赖项问题时面临问题
- reactjs - Data lost in switch case reactjs
- python - Python Doesn't Derive Same Hashkey For a given password and salt as Keycloak or Online Password Hashers
- python - How to find total time of employee in the office using Pyspark considering and removing out and in time difference
- java - Plugin (.jar) is unable to access mysql database on local server
- python - FileNotFoundError: Could not find module 'C:\Users\PycharmProjects\(path...)\site-packages\pyzbar\libzbar-64.dll' (or one of its dependencies
- javascript - encodeURIComponent does not return encoded URI
- react-native - React Native adding and remove packages as features or plugin at runtime
- .net - Gradual migration of a .Net Framework (4.6) solution to .Net 5?