使用Pandas从csv文件读取头信息

时间:2016-04-06 04:08:55

标签: python csv pandas

我有一个包含14行标题的数据文件。在标题中,有纬度 - 经度坐标和时间的元数据。我目前正在使用

pandas.read_csv(filename, delimiter",", header=14)

读取文件,但这只是获取数据,我似乎无法获取元数据。有谁知道如何阅读标题中的信息?标题如下:

CSD,20160315SSIO
NUMBER_HEADERS = 11
EXPOCODE = 33RR20160208
SECT_ID = I08
STNBBR = 1
CASTNO = 1
DATE = 20160219
TIME = 0558
LATITUDE = -66.6027
LONGITUDE = 78.3815
DEPTH = 462
INSTRUMENT_ID = 0401
CTDPRS,CTDPRS_FLAG,CTDTMP,CTDTMP_FLAG
DBAR,,ITS-90,,PSS-78

2 个答案:

答案 0 :(得分:1)

你必须自己解析你的元数据标题,但你可以在一次通过中以优雅的方式进行,甚至可以在运行中使用它,这样你就可以从中提取数据/控制文件的正确性等。

首先,自己打开文件:

f = open(filename)

然后,完成解析每个元数据行的工作以从中提取数据。为了便于解释,我只是跳过这些行:

for i in range(13):  # skip the first 13 lines that are useless for the columns definition
    f.readline()  # use the resulting string for metadata extraction

现在,您已在要用于加载DataFrame的唯一标题行上准备好文件指针。很酷的是read_csv接受文件对象!因此,您现在就开始加载DataFrame:

pandas.read_csv(f, sep=",") 

请注意,我没有使用header参数,因为我在您的描述中考虑的是,您只有最后一行标题对您的数据帧有用。您可以构建和调整听众解析值/行以跳过该示例。

答案 1 :(得分:1)

虽然以下方法不使用Pandas,但我能够提取标题信息。

SimpleObject