我想将在python中看过的元组列表另存为.mat文件,以便在MATLAB中导入。由于无法直接使用savemat('file.mat',tuplist)
,因此将元组列表转换为数据框。这是我的示例代码
import mat4py
import scipy.io as io
import pandas as pd
import pprint as pprint
tuplist=[(0, 1,0), (0, 1,1), (0, 1,2)]
df = pd.DataFrame(tuplist)
print(df)
io.savemat('file.mat',df)
我收到以下错误,
TypeError: 'int' object is not subscriptable
。
关于如何解决此错误的任何建议?
错误:
Traceback (most recent call last):
File "CreateGraph.py", line 27, in <module>
io.savemat('Edges',df)
File "C:\Program Files\Python36\lib\site-packages\scipy\io\matlab\mio.py", line 219, in savemat
MW.put_variables(mdict)
File "C:\Program Files\Python36\lib\site-packages\scipy\io\matlab\mio5.py", line 832, in put_variables
if name[0] == '_':
TypeError: 'int' object is not subscriptable
编辑:
从下面发布的评论中,我了解到,我在savemat
命令中传递数据框而不是字典时犯了一个错误。我想就将元组列表转换为.mat格式的替代方法提出建议。