如何使用 Python 在 SPSS 中设置可变宽度和小数?
How to set Variable Width and Decimals in SPSS with Python?
我正在尝试使用 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
虽然文档帮助不大,但让我了解了格式的工作原理:
https://pythonhosted.org/savReaderWriter/index.html#formats
我正在尝试使用 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
虽然文档帮助不大,但让我了解了格式的工作原理: https://pythonhosted.org/savReaderWriter/index.html#formats