我需要一些帮助...使用熊猫函数read_sas在python中读取sas表时遇到了一些麻烦。我收到以下错误:
"ValueError: Length of values does not match length of index".
这是我运行的代码:
import pandas as pd
data=pd.read_sas("my_table.sas7bdat")
data.head()
我的sas表很大,有505列和10万行。
感谢您的帮助。
答案 0 :(得分:0)
我找到的解决方案是将我的sas表导出为csv文件,其代码如下:
proc export data=my_table
outfile='c:\myfiles\my_table.csv'
dbms=csv
replace;
run;
然后,我使用熊猫函数read_csv读取刚刚创建的csv文件:
import pandas as pd
data=pd.read_csv("my_table.csv")
data.head()
希望这会有所帮助。
答案 1 :(得分:0)
我有很少的sas文件存在相同的问题。我用两种方法解决了它: 1.编码
StringSerializer
2。在Anaconda中安装了sas7bdat库,并带有:
df=pd.read_csv('foo.sas7bdat.csv', encoding='iso-8859-1')
在python文件中:
conda install -c prometeia/label/pytho sas7bdat