我需要从这个文件中读取观察结果,并每天存储它们。每日观测数据以#开头,该线以下为每日观测数据。观测值中的列分别为'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')