Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用panda.read_SAS和另存为feather读取二进制压缩的SAS文件_Python_Python 3.x_Pandas_Feather - Fatal编程技术网

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%以上的时间内工作。所以你一定在工作