读取带有pandas/numpy数组的文本文件



我需要从这个文件中读取观察结果,并每天存储它们。每日观测数据以#开头,该线以下为每日观测数据。观测值中的列分别为'LVLpTYP', 'ETIME', 'PRESSURE','GPH','TEMP','RH','DPDP','WDIR','WSPD'。我不想跳过包含#s的标题行,因为它们有时间戳。

https://drive.google.com/file/d/1-o_M_nOSFU4J39Bczs4VfsCONrM-9l5w/view?usp=sharing

我想不出任何方法可以让我做同样的事情。

这样我就可以把它们当作字符串来读,但是没有帮助。

import numpy as np
import sys
arrays = [np.array(list(map(str, line.split()))) for line in open('INM00043333-data.txt')]

输出应该像这样:

time_stamps = [2016 02 06, 2016 03 06...... ..#list/数组包含#行中的时间信息,即#INM00043333 2016 02 06 00 0000 247 ncd -gts 116667 927167

data =[] #数据框中两行#之间的行

使得time_stamps数组中的索引i表示第一个日期的数据,以此类推。如果我从time_stamps数组中取出一个特定的日期,它应该反映相应的数据。

这个问题非常模糊,需要更多的细节才能准确回答这个问题。这包括澄清什么是"财产"。此文件的存储格式,以及可能的代码,以便您首先尝试自己解决此问题。

你为什么不读这个文件?

import pandas as pd
df = pd.read_fwf(r"D:DownloadsINM00043333-data.txt", delimiter= 's+')
print(df)
print(df.columns)

输出# df

#INM00043333 2016 02 06 00 0000  247 ncdc-gts   116667        927167
0      21 -9999 100100B -9999   234B -9999    31      36...           NaN
1      10 -9999 100000A   79B  230B -9999    38       5...            NaN
2      20 -9999  97800 -9999   234B -9999    25       25...           NaN
3      20 -9999  96400 -9999   250B -9999   110      -9999...         NaN
4      20 -9999  96000 -9999 -9999 -9999 -9999        50 ...          NaN
...                                                  ...         ...
90224  30 -9999  -9999   600 -9999 -9999 -9999        55 ...         NaN
90225  30 -9999  -9999   900 -9999 -9999 -9999        55 ...         NaN
90226  30 -9999  -9999  1800 -9999 -9999 -9999        70 ...         NaN
90227  30 -9999  -9999  2100 -9999 -9999 -9999        90 ...         NaN
90228  30 -9999  -9999  2400 -9999 -9999 -9999        85 ...         NaN

df # columns

Index(['#INM00043333 2016 02 06 00 0000  247 ncdc-gts   116667', '927167'], dtype='object')

相关内容

  • 没有找到相关文章

最新更新