Python如何从一个.txt文件导入这种类型的matlab格式的数据?

iaqfqrcu  于 2023-03-03  发布在  Matlab
关注(0)|答案(1)|浏览(188)

在txt文件中,内容已准备好供matlab使用,并且可以作为.m文件运行:
% ------
数据(1,:)= [-2.875,2.75,-1.0,-2.75,-0.875];
数据(2,:)= [-1.125,2.625,3.0,1.25,2.875];
如何将这些数据作为数据结构导入Python?
谷歌mathcad网站,没有发现任何帮助。

cyej8jka

cyej8jka1#

我相信你在找这样的东西:

import re

with open("test.txt", "r") as filestream:
    for line in filestream:
      sub_strings = re.findall(r"\[(.*?)\]", line)
      if sub_strings:
        list_of_floats = [float(x) for x in sub_strings[0].split(",")]
        # do stuff with 'list_of_floats'

这里我们逐行读取文本文件“test.txt”,在每一行中我们获取两个字符'['和']'之间的所有子字符串(这是使用正则表达式完成的),如果我们找到了:将第一个子字符串(使用逗号作为分隔符)拆分为字符串列表,然后将其转换为浮点数列表。
当然,这段代码只有在文件的所有行都是相同格式的情况下才能工作(就像你的例子),否则你必须做额外的检查,跳过所有你不关心的行。

相关问题