我正在尝试将 python Dataframe 转换为 Matlab (.mat) 文件。
我最初有一个使用 panda.read_csv 导入的 txt (脑电图信号):
MyDataFrame = pd.read_csv("data.txt",sep=';',decimal='.'),data.txt 是一个带有标签的二维数组。这将创建一个如下所示的数据框。
为了将其转换为 .mat,我尝试了这个解决方案,其想法是将数据帧转换为列表字典,但在尝试了该解决方案的各个方面后,它仍然不成功。
scipy.io.savemat('EEG_data.mat', {'struct':MyDataFrame.to_dict("list")})
它确实创建了一个 .mat 文件,但没有正确保存我的数据框。我获得的文件看起来像这样,所以所有的值基本上都消失了,当你查看它们时,你看到的剩余标签都是空的。
我还尝试使用mat4py,它旨在将 python 结构导出到 Matlab 文件中,但它也不起作用。我不明白为什么,因为将我的数据帧转换为列表字典正是根据 mat4py 文档应该做的。
我已经阅读了单例的各种主要示例,但我在制作我想要的东西时遇到了困难。我的主要灵感来自这个例子:
class OnlyOne:
class __OnlyOne:
def __init__(self, arg):
self.val = arg
def __str__(self):
return repr(self) + self.val
instance = None
def __init__(self, arg):
if not OnlyOne.instance:
OnlyOne.instance = OnlyOne.__OnlyOne(arg)
else:
OnlyOne.instance.val = arg
def __getattr__(self, name):
return getattr(self.instance, name)
Run Code Online (Sandbox Code Playgroud)
但我不需要像 getattr 这样的东西,这是到目前为止我的代码:
class MongoManager:
class __MongoManager:
def __init__(self):
# Initialise client
self.client = pymongo.MongoClient('localhost', 27017)
__instance = None
def __init__(self):
if not MongoManager.__instance:
MongoManager.__instance = MongoManager.__MongoManager()
Run Code Online (Sandbox Code Playgroud)
我想要的只是在键入时获取变量clientMongoManager.client,但出现错误AttributeError: 'MongoManager' object has no attribute 'client'。我想我可以尝试使用 getattr 并检查类似的内容, …