Python 从SPSS转换为Pandas…结果为;b';变量名称'&引用;对于所有变量

Python 从SPSS转换为Pandas…结果为;b';变量名称'&引用;对于所有变量,python,pandas,dataframe,spss,Python,Pandas,Dataframe,Spss,我正在尝试将SPSS文件转换为Pandas,工作正常。但是,所有变量都显示为“b'variable_name'”。它在每个变量前面加一个“b”,并在原始变量名周围加上单引号。有没有办法做到这一点并保留原始变量名 我试着重新命名变量,但是引号会把代码去掉……而且……还有很多变量,所以这很乏味,也不理想 df = pd.DataFrame(list(s.SavReader(r'C:\Users\Nick\Desktop\GitProjects\Data\M2.sav', returnHeader=T

我正在尝试将SPSS文件转换为Pandas,工作正常。但是,所有变量都显示为“b'variable_name'”。它在每个变量前面加一个“b”,并在原始变量名周围加上单引号。有没有办法做到这一点并保留原始变量名

我试着重新命名变量,但是引号会把代码去掉……而且……还有很多变量,所以这很乏味,也不理想

df = pd.DataFrame(list(s.SavReader(r'C:\Users\Nick\Desktop\GitProjects\Data\M2.sav', returnHeader=True, 
                                   recodeSysmisTo='NaN',ioUtf8=True,rawMode=True)))
df.head(10)

# Create a new variable called 'header' from the first row of the dataset
header = df.iloc[0]
# Replace the dataframe with a new one which does not contain the first row
df = df[1:]
# Rename the dataframe's column values with the header variable
M2 = df.rename(columns = header)
M2.head(10)

下面是生成的日期框。这很好,但我需要去掉每个变量周围的“b”和单引号。

要快速修复此问题,请执行以下操作:

header=list(映射(str,df.iloc[0]))
因此,b“”表示所有头名称都是字节,而不是字符串。它可能与用于读取的函数有关。萨瓦费