Python 如何使用panda.read_SAS和另存为feather读取二进制压缩的SAS文件
我正在尝试使用Python 如何使用panda.read_SAS和另存为feather读取二进制压缩的SAS文件,python,python-3.x,pandas,feather,Python,Python 3.x,Pandas,Feather,我正在尝试使用pandas.read_sas()以块的形式读取二进制压缩的sas文件,并将每个块保存为单独的feather文件 这是我的密码 import feather as fr import pandas as pd pdi = pd.read_sas("C:/data/test.sas7bdat", chunksize = 100000, iterator = True) i = 1 for pdj in pdi: fr.write_dataframe(pdj, 'C:/da
pandas.read_sas()
以块的形式读取二进制压缩的sas文件,并将每个块保存为单独的feather文件
这是我的密码
import feather as fr
import pandas as pd
pdi = pd.read_sas("C:/data/test.sas7bdat", chunksize = 100000, iterator = True)
i = 1
for pdj in pdi:
fr.write_dataframe(pdj, 'C:/data/test' + str(i) + '.feather')
i = i + 1
但是,我得到以下错误
ValueError回溯(最近的调用
最后)在()
1 i=1
2对于pdi中的pdj:
---->3 fr.write_数据帧(pdj,'C:/test'+str(i)+'.feather')
4i=i+1
五,
~\AppData\Local\Continuum\anaconda3\lib\site packages\pyarrow\feather.py
写入(df、dest)
116编写器=羽毛编写器(目标)
117尝试:
-->118 writer.write(df)
119除:
120#尽量确保资源已关闭
~\AppData\Local\Continuum\anaconda3\lib\site packages\pyarrow\feather.py
书面形式(自我,df)
94
95 elif推断的_类型不在['unicode','string']中:
--->96提升值错误(msg)
97
98如果不存在(名称、六种字符串类型):
ValueError:无法用dtype字节序列化名为某个\u ID的列0
我正在使用Windows7和Python 3.6。当我检查它时,大多数列的单元格都用b'cell\u value'
包装,我认为这意味着这些列是二进制格式的
我是一个完全的Python初学者,所以不明白问题出在哪里?编辑:看起来这是一个在最新版本中修补的错误: 列名是字符串吗?您确定pdj的类型是pd.DataFrame吗 局限性 熊猫的某些特征在羽毛中不受支持: 非字符串列名 行索引 具有非齐次数据的对象类型列
我对feather一无所知,但在给feather写信之前,我会再次检查您是否成功地从SAS转换为pandas。将SAS读入pandas的能力非常好,但在我可以将其写成csv的情况下,肯定能在100%以上的时间内工作。所以你一定在工作