【发布时间】:2022-08-15 23:51:26
【问题描述】:
当我们使用 python 合并 2 个 SPSS 文件时,我遇到了问题,当我们读取 SPSS 数据文件时,所有数字数据都转换为十进制。我尝试使用 panda 将其转换为 int64,但是当尝试保存合并文件时,它又转换回十进制。
import pyreadstat
import pandas as pd
df, meta = pyreadstat.read_sav(\'SWAN_p1.sav\', apply_value_formats=False, disable_datetime_conversion=True, user_missing=True)
df_2, meta2 = pyreadstat.read_sav(\'SWAN_p2.sav\', apply_value_formats=False, disable_datetime_conversion=True, user_missing=True)
frames = [pd.DataFrame(df), pd.DataFrame(df_2)]
data_final = pd.concat(frames)
c_labels = meta.column_labels
v_labels = meta.value_labels
v_type = meta.original_variable_types
measures = meta.variable_measure
storage_width = meta.variable_storage_width
variable_value_labels = meta.value_labels
variable_l = meta.variable_value_labels
pyreadstat.write_sav(data_final, \"SWAN_Merged_v3.sav\", variable_measure=measures, column_labels=c_labels, variable_value_labels=variable_l)