Py学习  »  Python

如何在Python中更正dat文件中的数据传输?

Kovgan • 3 年前 • 1250 次点击  

我有。使用这种文本类型的dat文件

例子: αqaα,αb,Hb,Hb,Ma,α,α,β,Hb,Hb,B,XLA,α,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb,Hb;从2008年8月8日起,一个联合国的研究人员在该地区进行了一次测试,在该地区的一次测试中发现了一名在该地区的测试结果,而在该地区的测试结果是,在该地区的测试结果是,在该地区的测试结果是,在该地区的测试结果是一名在该地区的测试者的测试结果是一名从该地区的测试结果是一名从从该地区的测试的测试结果是从从从从该地区的测试结果是从从从从该地区的测试的测试结果是从从从该地区的测试结果是从从从从该地区的测试的测试结果是从从从从从从从从从从从从该地区的自自自自自自该地区的自自自自该地区的自自自该地区的自自自该地区的自该地区的自自该地区的自自自自该地区的自该地区的自自自该地区的自自自该地区的自自自该地区的自自自自自自自自血红蛋白血红蛋白ÐhaolЅA«2¨HB HBÐ5WA UÐ133; A vB¨¨HB HBÐN>AЅA UuʗHB>在2008年8月18日的一场比赛中,一名足球足球队的足球足球队的比赛中,一名足球队的比赛中,一名足球队的比赛中,一名足球队的比赛中,一名足球队的比赛中,一名足球队的比赛比赛中的比赛中,以及一名足球队的比赛中,一名足球队的比赛中,一名足球队的比赛中,一名足球足球队的比赛中,一名足球足球队的比赛的比赛中,从从从自自自自自自自自自自自自自自2008年8月8月18日的一场比赛中,自自自自自8月18日起,自自自自18日起,一场比赛中的一名是自自自自自18日起,一场比赛中,自自自自自自18日起,自自自18日起,自自自自18日起,自18日起,自自自自自18日至一场比赛的一场比赛的一场比赛的一名在在HB HBøeOAøA vB—HB†QAÐñNÐ133; AÐHB@QHAЅAÐHB,8月8日,一个18月的西亚西亚西亚(2088)的一个8月8日,一个8月8日的亚西亚(2088)的亚西亚(2088)的亚西亚(2088)的亚西亚(2088)的亚西亚(2088)的亚西亚(2088)的一个8月的一个,作为作为作为作为一个,作为作为作为作为作为作为作为该地区的,作为作为作为作为作为作为作为作为作为作为作为作为该地区的,作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为该地区的,作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为该地区的,作为作为作为作为作为作为作为作为作为作为该地区的HBHBHBHB血红蛋白的血红蛋白的,作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为作为HB HB@TAÐÐAÐAÐAЗHB HBÐ0CAÐAHB@KIAÐAÐAÐHBÐAÐHBÐXAÐAÐHB@KIAÐAÐHBÐAÐAÐYQA«jÐA…HB AÐDA;1月8日的一个赛赛区的赛赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的一个赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的赛区的一一HB@WGA

它应该是带有正确浮点数的矩阵(…,10),但idk如何做到这一点。我试图找到它是什么样的唱片,但找不到任何相同的:(

请帮忙

附言

在matlab中,magicaly工作得很好,但在Python中我真的做不到

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

Data in matlab pic

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131905
 
1250 次点击  
文章 [ 1 ]  |  最新文章 3 年前
Aaron
Reply   •   1 楼
Aaron    3 年前

数据只是由实际二进制数据而不是文本表示的一组浮点。 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)