-
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:2211.7GB 大小的dat数据文件,使用readline循环读出,却显示只有4行,而且显示乱码 ,判断了编码格式,结果如下:  -
python读取dat文件
2021-12-31 21:22:17print("----读取指定的单行,数据会存在列表里面----") 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文件并将该数据绘制成曲线
2021-03-11 16:53:08@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()]
结果
就这些。 -
Python读取dat文件数据并构成Dataframe对象
2020-05-07 11:01:46现实世界中,当需要对数据进行处理时,到手的数据文件往往五花八门,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读取dat文件代码-基于python批量处理dat文件及科学计算方法详解
2020-11-11 14:42:42摘要:主要介绍一些python的文件读取功能,文件内容修改,文件名后缀更改等操作。批处理文件功能import ospath1 = "C:\Users\awake_ljw\Documents\python for data analysis\test1"path2 = "C:\Users... -
从python中的.dat文件读取和做计算
2021-07-16 12:13:14I 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文件读取和做计算
2020-11-20 23:30:16I 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文件及科学计算方法详解
2020-09-20 12:37:47今天小编就为大家分享一篇基于python批量处理dat文件及科学计算方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
基于python批量处理dat文件及科学计算的方法
2021-02-10 13:23:50这篇文章主要介绍了关于基于python批量处理dat文件及科学计算的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下摘要:主要介绍一些python的文件读取功能,文件内容修改,文件名后缀更改等操作... -
python读取dat文件并保存为Excel格式
2021-09-24 14:24:18python读取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:06with open(filename, 'rb') as f: lines = f.readlines() ...只需要用ansi编码处理即可,下面是处理前的数据样式: 处理后: 尊重原作,转载请注明,转载自:https://blog.csdn.net/kr2563 ... -
python读二进制DAT文件
2021-12-10 10:43:26python 读二进制DAT文件 # 读float(4字节) import struct import numpy as np filename = os.path.join(file_dir, file) f = open(filename,'rb') # N为文档中包含的数字个数,而一个浮点数占4个字节,一个char... -
Python读取二进制文件代码方法解析
2020-09-16 15:33:49主要介绍了Python读取二进制文件代码方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 -
Python 读取位于包中的数据文件
2021-01-19 23:48:50你的包中包含代码需要去读取的数据文件。你需要尽可能地用最便捷的方式来做这件事。 解决方案 假设你的包中的文件组织成如下: 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') -
Pandas:外部文件数据导入/ 读取 (如 :csv、txt、tsv、dat、excel文件)、文件存储(to_csv、to_excel)
2020-11-21 04:02:23一、文本文件读取文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序...1、使用read_table来读取文本文件:格式:pandas.read_table(数据文件名, sep=’\t’, header=’infer’, names=None,index_col... -
python读取二进制dat文件
2022-01-10 14:40:47import 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...