我在一个名为data.txt的文本文件中有这些数据
P005 NY 18/05/2021 23 40
P011 HK 16/05/2021 23 33
P023 TK 15/05/2021 24 41
P023 TK 15/05/2021 20 30
第一列是气象站代码,第二列是站名缩写,第三列是日期,第四列是温度,第五列是降雨量。(请注意,这些列没有标题)
我导入此文本并将其存储在五个列表中
然后我要求用户输入气象站代码,我可以输出从该站收集的数据。这就是我被卡住的地方
特别是,例如,如果用户输入P023,则我的输出应为
TK 15/05/2021 24 41
TK 15/05/2021 20 30
我需要帮助,这样我才能得到正确的输出。我的尝试如下
infile = open("data.txt",'r')
assert isinstance(infile, object)
data = infile.read()
infile.close()
lines = data.split("\n")
Station_ID = []
Station_Name = []
Date_Time = []
Temperature = []
Rainfall = []
for line in lines:
record = line.split( )
Station_ID.append((record[0]))
Station_Name.append(record[1])
Date_Time.append(record[2])
Temperature.append(record[3])
Rainfall.append(record[4])
loop= True
while loop:
Choice = input("Press 1 to enter code")
if Choice==1:
RequestID = input("Enter valid Weather Station ID Code: ")
# it is at this point where i have no clue what i have to do
if RequestID in Station_ID:
print (index, (value1, value2, value3, value4,) in enumerate(zip(Station_Name, Date_Time, Temperature, Rainfall))
elif choice%=2:
print ("you will now exit")
由于您已经将这些详细信息存储为列表,因此可以使用Station_ID的索引查找所需的详细信息
我建议您使用defaultdictfrom collections模块,其中默认为列表:
并将数据存储在那里:
因此
data_dict
的结构如下:然后您可以按关键站访问数据:
至少在这种情况下,这种愚蠢的做法应该奏效
相关问题 更多 >
编程相关推荐