-1

我有这种类型的文本的 .dat 文件

例子: АqMA ЅA Ђ‰ї HB HB MA @ЅA Е€ї HB HB ЂXLA ЂЅA U‡ї HB HB АFA U5ЅA Е€ї HB HB @ю@A ЅA ё€ї HB HB [VA ЅA ±“‡ї HB HB @3MA ЅA U=‰ї HB HB А KA «JЅA Ђ‰ї HB HB ЂdJA ;1ЅA р‡ї HB HB АZA «jЅA `†ї HB HB АFA ±ЅA Uе†ї HB HB А¬XA ЅA bЗ€ї HB HB АHA OlЅA «2€ї HB HB А5WA UЅA vB‰ї HB HB АN>A ЅA Uu€ї HB HB >FA UuЅA Ы†ї HB HB А^A ±ЅA «2€ї HB HB А”\A UuЅA OL€ї HB HB ЂГOA OlЅA р‡ї HB HB @аEA UЅA Ђ‰ї HB HB @QHA OlЅA р‡ї HB HB АeOA ЅA vB‰ї HB HB цQA ЕNЅA Ђ‰ї HB HB @QHA ЂЅA Ђ‰ї HB HB ,IA ЂЅA Ђ‰ї HB HB @эUA «*ЅA Ђ‰ї HB HB DEA ЕNЅA Ђ‰ї HB HB ЂҐTAЂЅ Ђ‰ї HB HB АоMA ЂЅA «ъ€ї HB HB @ TA ЂЅA Ђ‰ї HB HB А0CA ЂЅA Ђ‰ї HB HB @KIA ЂЅA Ђ‰ї HB HB ЂXA ЂЅA Ђ‰ї HB HB АYQA «jЅA Ђ‰ї HB @жDA ;1ЅA Ђ‰ї HB HB IYA ЂЅA Ђ‰ї HB HB @oCA ЂЅA Ђ‰ї HB HB ЂFOA ЂЅA Ђ‰ї HB HB ТWA Щ ЅA Ђ‰ї HB HB OA UuЅA Ђ‰ї HB HB @WGAETC...

它应该是具有正确浮点数的矩阵 (..., 10),但不知道该怎么做。我试图找到它是什么类型的记录,但我找不到任何相同的东西:(

请帮忙

ps

在matlab中它神奇地工作正常,但我真的不能在Python中做同样的事情

FileID = fopen('sample.dat' ,'r');
Data = fread(FileID,[10,inf],'float')';

matlab图片中的数据

4

1 回答 1

1

数据只是一堆由它们的实际二进制数据而不是文本表示的浮点数。Numpy可能是最快和最简单的使用:

numpy.fromfile(filepath, dtype=float).reshape([-1,10])

struct学习如何使用库表示二进制数据可能是一个很好的练习。这是一个尝试通读的快速示例:

with open(filepath, 'rb') as datafile:
    my_array = list()
    for i, value in enumerate(struct.iter_unpack('f', datafile)):
        if i%10 == 0: #start a new row every 10 columns
            my_array.append(list())
        my_array[-1].append(value)
于 2022-01-13T05:14:33.737 回答