精华内容
下载资源
问答
  • python读取.dat文件
    千次阅读
    2021-08-23 10:22:59

    问题:用UE编辑器打开文件后,发现分隔符是“ETX”

    目的:将.dat文件读取至python,机构化数据

    实现:

    (1)pd.read_csv( r"D:\data\test.dat" , sep=r'x\03', engine ='python' , header =None )

    (2)np.fromfile(r"D:\data\test.dat",dtype=... )

    更多相关内容
  • python读取dat文件数据

    2016-03-10 08:50:22
    11.7GB 大小的dat数据文件,使用readline循环读出,却显示只有4行,而且显示乱码 ,判断了编码格式,结果如下: ![图片说明](https://img-ask.csdn.net/upload/201603/11/1457661134_786702.png)
  • python读取dat文件

    千次阅读 2021-12-31 21:22:17
    print("----读取指定的单行,数据会存在列表里面----") df=pd.read_csv('测试.dat')# data=df.loc[0].values#0表示第一行 这里读取数据并不包含表头,要注意哦! print("读取指定行的数据:\n{0}".format(data)) ...
    import  pandas  as pd
    #1:读取指定行
    print("----读取指定的单行,数据会存在列表里面----")
    df=pd.read_csv('测试.dat')#
    data=df.loc[0].values#0表示第一行 这里读取数据并不包含表头,要注意哦!
    print("读取指定行的数据:\n{0}".format(data))
    
    print("\n------读取指定的多行,数据会存在嵌套的列表里面----------")
    df=pd.read_csv('测试.xlsx')
    data=df.loc[[1,2]].values#读取指定多行的话,就要在loc[]里面嵌套列表指定行数
    print("读取指定行的数据:\n{0}".format(data))
    
    print("\n----------------读取指定的行列-----------------------")
    df=pd.read_csv('测试.xlsx')
    data=df.iloc[1,2]#读取第一行第二列的值,这里不需要嵌套列表
    print("读取指定行的数据:\n{0}".format(data))
    
    print("\n----------------读取指定的多行多列值-----------------------")
    df=pd.read_csv('测试.xlsx')
    data=df.loc[[1,2],['title','data']].values#读取第一行第二行的title以及data列的值,这里需要嵌套列表
    print("读取指定行的数据:\n{0}".format(data))
    
    print("\n-----------获取所有行的指定列----------------------------")
    df=pd.read_csv('测试.xlsx')
    data=df.loc[:,['title','data']].values#读所有行的title以及data列的值,这里需要嵌套列表
    print("读取指定行的数据:\n{0}".format(data))
    
    print("\n------------获取行号并打印输出---------------------------")
    df=pd.read_csv('测试.xlsx')
    print("输出行号列表",df.index.values)
    
    print("\n-------------获取列名并打印输出--------------------------")
    df=pd.read_csv('测试.xlsx')
    print("输出列标题",df.columns.values)
    
    print("\n------------获取指定行数的值---------------------------")
    df=pd.read_csv('测试.xlsx')
    
    print("输出值",df.sample(3).values)#这个方法类似于head()方法以及df.values方法
    print("\n-----------获取指定列的值----------------------------")
    df=pd.read_csv('测试.xlsx')
    print("输出值\n",df['data'].values)
    
    
    #获取总行数
    lines=df.shape[0]
    #查看各列数据类型
    print(df.dtypes)
    
    
    #读取dat文件
    #delimiter:读取具有分隔符的数据
    #dtype:第0,5,19列以字符串格式读取
    pd.read_csv('xxx.dat',header=None,encoding='utf-8',delimiter='|',quoting=3,low_memory=False,dtype = {0:str,5:str,19:str})
    
    #写入dat文件
    #index=0:索引不写入
    #sep='|':写入具有分隔符的数据
    df.to_csv('xxx.dat',header=None,encoding='utf-8',sep='|',quoting=3,index=0)
    
    展开全文
  • @Python读取dat文件并将该数据绘制成曲线 困惑 刚开始学,按照网上的教程整了一天,全是坑人的,还是自己摸索出来的。做个记录,省的以后忘记了 过程 只需要下载好matplotlib函数(不绘图的话也不需要下载) file_...

    @Python读取dat文件并将该数据绘制成曲线

    困惑

    刚开始学,按照网上的教程整了一天,全是坑人的,还是自己摸索出来的。做个记录,省的以后忘记了

    过程

    只需要下载好matplotlib函数(不绘图的话也不需要下载)

    
    import matplotlib.pyplot as plt
    
    file_position = 'E:\\Data\\1782\\20201215interference\\'       # 文件位置
    file_name = '30k.dat'                       # 文件名
    data_name = file_position+file_name         # 为了更改起来更方便
    
    data0 = open(data_name,'r')
    data1 = []
    for line in data0:
        data1.append(float(line))
    data0.close()
    data2 = data1[0:1000]                       # 实际数据太长,截了其中的一小段
    print(data2)
    
    plt.plot(data2)                             # 绘图函数
    plt.show()]
    

    结果

    在这里插入图片描述
    就这些。

    展开全文
  • 现实世界中,当需要对数据进行处理时,到手的数据文件往往五花八门,data、txt、csv、json等等。Python为我们提供了强大的数据分析处理工具,如果文件中的句符合格式要求,可以使用pandas模块中的各种read对象直接...

    实际应用中,对数据进行处理时,到手的数据文件往往五花八门,data、txt、csv、json等等。Python为我们提供了强大的数据分析处理工具,如果文件符合某种格式要求,可以使用pandas模块中的各种read方法直接读取。例如大名鼎鼎的鸢尾花数据集iris.data,使用Notepad++打开文件观察数据,可见:
    在这里插入图片描述
    从图中可以看出,没有表头,字段清晰,分隔符均为逗号,因此可直接使用read_csv方法将数据读取为Dataframe对象,再通过Dataframe对象进行各种操作:

    df = pd.read_csv('e:\iris.data',header=None)
    # 查看数据前5行
    df.head()
    # 读取后100个数据的第2和第3列数据作为特征
    X = df.iloc[-100:,[2,3]].values
    # 读取后100个数据的第4列元素作为数据标签
    y = df.iloc[-100:,4].values

    如果遇到不这么标准的数据是否能够这样操作?例如这个StoneFlakes.dat:
    在这里插入图片描述
    文件中既包含表头又有数据字段,分隔符包括数量不等的空格、逗号以及空格+逗号,如果直接使用read_csv方法读取肯定无法准确的获取数据。解决办法就是直接使用open()方法对文件进行按行读取,再根据文件结构解析数据。如下:

    import numpy as np 
    import pandas as pd 
    from pandas import DataFrame
    
    datalist = []
    columnlist = []
    with open('e:\data\StoneFlakes.dat','r') as of:
        # 获取第一行表头数据    
        firstline = of.readline()    
        # 删除字符串头尾的特定字符    
        firstline = firstline.strip('\n')    
        # 将字符串按照空格进行分割    
        columnlist = firstline.split()

    按照该表格结构,第一行为表头数据,故首先使用open()方法打开文件,返回一个TextIOWrapper对象,使用其中的readline()方法返回一行文本数据,再使用strip()方法删除首尾可能存在的换行符或其他不需要的符号,最后使用split方法按照空格作为分割符将字符串分割为列表,从而获得表格的列名。之后可对数据进行读取。

        for line in of:        
        	# 清除前后回车符,按照空格进行分割
        	line = line.strip('\n').split()        		
        	

    由于数据中的分割符较为复杂,包含空格和逗号的各种组合,采取的策略是多次分割。通过对数据观察发现,大部分数据是以逗号作为分隔符,但是少量逗号分割符前面包含空格,同时第1列和第2列之间的分隔符均为数量不等的空格。所以对每一行文本,先以空格为分隔符进行分解,得到数量较少但长度较长的多个字段。同样先试用stripe(’\n’)方法除去首尾的换行符,再使用split()方法按照空格为分割符进行分割。此时得到的列表中的元素即为严格以逗号为分隔符的字符串,如下:

    ['ar', '?,35.30,2.60,', '?,42.4,24.2,47.1,69']

    之后再按照逗号对每个字符串进行分割,最后将得到的多个列表串联,得到了包含该行所有数据元素的列表,如下:

            linelist = []        
            for str in line:            
                # 按照‘,’进行分割            
                # 字符串前后可能还有',',需要先清除            
                linelist = linelist + (str.strip(',').split(','))                		
             datalist.append(linelist)

    由于有的字段是以逗号结尾,需要先试用strip(’,’)方法去除,再使用split(’,’)方法以逗号为分割符进行分割。得到每一行数据的列表后,通过append方法组合为一个二维的列表,结合之前获取的表头列表,用以构建Dataframe对象。如下

    df = DataFrame(datalist, columns=columnlist)
    df
         ID   LBI    RTI   WDI  FLA   PSF   FSF  ZDF1 PROZD
    0    ar     ?  35.30  2.60    ?  42.4  24.2  47.1    69
    1   arn  1.23  27.00  3.59  122   0.0  40.0  40.0    30
    2    be  1.24  26.50  2.90  121  16.0  20.7  29.7    72
    3   bi1  1.07  29.10  3.10  114  44.0   2.6  26.3    68
    4   bi2  1.08  43.70  2.40  105  32.6   5.8  10.7    42
    ..  ...   ...    ...   ...  ...   ...   ...   ...   ...
    
    [79 rows x 9 columns]

    此时得到Dataframe对象准确的包含了原始文件中的数据,满足进行下一步的操作要求。

    展开全文
  • 摘要:主要介绍一些python文件读取功能,文件内容修改,文件名后缀更改等操作。批处理文件功能import ospath1 = "C:\Users\awake_ljw\Documents\python for data analysis\test1"path2 = "C:\Users...
  • python中的.dat文件读取和做计算

    千次阅读 2021-07-16 12:13:14
    I need to read a .dat file in python which has 12 columns in total and millions of lines of rows. I need to divide column 2,3 and 4 with column 1 for my calculation. So before I load that .dat file, d...
  • I need to read a .dat file in python which has 12 columns in total and millions of lines of rows. I need to divide column 2,3 and 4 with column 1 for my calculation. So before I load that .dat file, d...
  • 今天小编就为大家分享一篇基于python批量处理dat文件及科学计算方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 这篇文章主要介绍了关于基于python批量处理dat文件及科学计算的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下摘要:主要介绍一些python文件读取功能,文件内容修改,文件名后缀更改等操作...
  • python读取dat文件并保存为Excel格式: import pandas as pd df = pd.read_csv('file path/file.dat',sep=' ',header=0,names=["N1", "N2", "N3"]) df.to_excel('save path /filename.xlsx', index = False)
  • python 读取dat文件,显示合法中文

    千次阅读 2020-11-08 15:33:06
    with open(filename, 'rb') as f: lines = f.readlines() ...只需要用ansi编码处理即可,下面是处理前的数据样式: 处理后: 尊重原作,转载请注明,转载自:https://blog.csdn.net/kr2563 ...
  • python读二进制DAT文件

    千次阅读 2021-12-10 10:43:26
    python 读二进制DAT文件 # 读float(4字节) import struct import numpy as np filename = os.path.join(file_dir, file) f = open(filename,'rb') # N为文档中包含的数字个数,而一个浮点数占4个字节,一个char...
  • 主要介绍了Python读取二进制文件代码方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 你的包中包含代码需要去读取数据文件。你需要尽可能地用最便捷的方式来做这件事。 解决方案 假设你的包中的文件组织成如下: mypackage/  __init__.py  somedata.dat  spam.py 现在假设spam.py文件需要读取...
  • 使用python读取.dat文件

    2020-11-20 22:55:51
    我用MITgcm模拟了内波和水中...在 编辑1:我想做的是这个,但我之前没有展示过,因为它太不恰当了: ^{pr2}$ 或者这个:plot.plotfile('data.dat', delimiter=' ', cols=(0, 1), names=('col1', 'col2'), marker='o')
  • 一、文本文件读取文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序...1、使用read_table来读取文本文件:格式:pandas.read_table(数据文件名, sep=’\t’, header=’infer’, names=None,index_col...
  • import numpy as np myarray = np.fromfile("./query_feature_A/00056451.dat", dtype=float) print("len(myarray)::", myarray.size) for item in myarray: print(item)
  • Python中的.dat文件读取特定列

    千次阅读 2021-01-14 22:05:29
    我有一个results.dat文件,其中包含以下数据:7522126 0 0 0 0 0 0 -419.795 -186.24 1852.86 0.134695 -0.995462 -2.531537825452 0 0 0 0 0 0 -419.795 -186.24 1852.86 0.134695 -0.995462...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,983
精华内容 3,193
关键字:

python读取dat文件数据

友情链接: kood-achieve.zip