Python | 读取.dat 文件

写在前面

使用matlab可以输出为 .dat 或者 .mat 形式的文件,之前介绍过读取 .mat 后缀文件,今天正好把 .dat 的读取也记录一下。

读取方法

这里可以使用pandas库将其作为一个dataframe的形式读取进python,数据内容格式如下,根据空格分隔开分别为:

经度、纬度、年、月、日、时、分、秒、变量数值

0 88.486 10.181 2023.0 3.0 20.0 0.0 15.0 0.0 3329.973

1 88.486 10.181 2023.0 3.0 20.0 0.0 30.0 0.0 3330.019

2 88.486 10.181 2023.0 3.0 20.0 0.0 45.0 0.0 3330.043

3 88.486 10.181 2023.0 3.0 20.0 1.0 0.0 0.0 3330.077

由于原始的dat文件中是没有相关数据的信息的,这里为了方便后续处理,手动将其添加上相关的经纬度信息

需要注意的是,在直接将 DataFrame 传递给 pd.DataFrame 构造函数并指定列名时,如果原始 DataFrame 的列数和新列名的数量不匹配,可能会导致数据不一致,从而生成 NaN 值。使用 to_numpy() 方法将 DataFrame 转换为 NumPy 数组可以确保数据的一致性,因为它会忽略原始列名并仅保留数据。

读取数据

import pandas as pd

from datetime import datetime

import numpy as np

file_path = r'R:/ll/cj_YD_first_bpr_water_level.dat'

df = pd.read_csv(file_path, header=None,sep=r'\s+')

df

添加经纬度信息

df_from_array = pd.DataFrame(df.to_numpy(), columns=['lon', 'lat', 'year', 'month', 'day', 'hour'

热门