【发布时间】:2021-04-20 12:58:42
【问题描述】:
我正在尝试加载包含航空公司数据集 (https://arxiv.org/abs/1611.06740) 的旧泡菜文件。泡菜很旧,我无法访问它。如果我尝试:
objects = []
with (open("airline.pickle", "rb")) as openfile:
while True:
try:
objects.append(pickle.load(openfile))
except EOFError:
break
我收到以下警告和错误:
FutureWarning: pandas.core.index is deprecated and will be removed in a future version. The public classes are available in the top-level namespace.
objects.append(pickle.load(openfile))
Traceback (most recent call last):
File "c:\Users\LocalAdmin\surfdrive\Code\Python\Airline\pickleToCSV.py", line 9, in <module>
objects.append(pickle.load(openfile))
TypeError: _reconstruct: First argument must be a sub-type of ndarray
尝试使用 pandas 不起作用:
File "C:\Users\LocalAdmin\surfdrive\Code\Python\Airline\Airline\lib\site-packages\pandas\io\pickle.py", line 203, in read_pickle
return pickle.load(handles.handle) # type: ignore[arg-type]
TypeError: _reconstruct: First argument must be a sub-type of ndarray
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\Users\LocalAdmin\surfdrive\Code\Python\Airline\pickleToCSV.py", line 7, in <module>
df = pd.read_pickle('airline.pickle')
File "C:\Users\LocalAdmin\surfdrive\Code\Python\Airline\Airline\lib\site-packages\pandas\io\pickle.py", line 208, in read_pickle
return pc.load(handles.handle, encoding=None)
File "C:\Users\LocalAdmin\surfdrive\Code\Python\Airline\Airline\lib\site-packages\pandas\compat\pickle_compat.py",
line 249, in load
return up.load()
File "C:\Users\LocalAdmin\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 1212, in load
dispatch[key[0]](self)
File "C:\Users\LocalAdmin\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 1725, in load_build
for k, v in state.items():
AttributeError: 'tuple' object has no attribute 'items'
如何访问该文件并将其保存为 csv?我需要那里包含的数据。我正在使用熊猫 1.2.4 和 python 3.6。
【问题讨论】:
-
首先,您似乎使用的是 Python 3.9 而不是 3.6 (
...Python39\lib\pickle.py)。其次,尝试使用与用于pickle文件的Python版本相同的Python版本,可能在更高版本的库中酸洗格式发生了变化。 -
“泡菜很老了”你对泡菜的确切条件了解多少?
-
论文来自 2017 年,但数据可能更旧(范围从 2013-2016)