我目前坚持使用 Python 项目,我想从在线 CSV 文件中获取信息,并希望让用户通过输入函数进行搜索。目前,我可以通过链接从在线 CSV 文件中获取信息,但我无法建立连接,以便它在该 CSV 文件中搜索确切的单词。
我目前尝试了多个教程,但大多数都没有解决我的问题。所以带着很多痛苦,我在这里写下这个消息,希望有人能帮我。
我到目前为止的代码是:
import csv
import urllib.request
metar_search = input('Enter the ICAO station\n')
url = 'https://www.aviationweather.gov/adds/dataserver_current/current/metars.cache.csv'
response = urllib.request.urlopen(url)
lines = [l.decode('utf-8') for l in response.readlines()]
cr = csv.reader(lines)
for row in cr:
if metar_search == row[0]:
print(row)
在 CSV 文件中,第一行是我要查找的内容。它是机场的 METAR 信息。因此,我希望用户输入 ICAO 代码(例如 KJFK),然后我希望该站的天气信息文本行(例如:KJFK 051851Z 15010KT 10SM FEW017 FEW035 FEW250 27/19 A3006 RMK AO2 SLP177 T02670194)。 当我当前键入 KJFk 时,它不会返回任何信息。
当前的代码可能有点乱,因为我尝试了几件事,我也尝试过使用它,但没有运气。我做错了什么?
我希望有人能够帮助我解决这个问题。
在此先感谢您。
答案 0 :(得分:1)
试试
...
for row in cr:
if row[0].startswith(metar_search):
print(row)
或
...
lines = [l.decode('utf-8') for l in response.readlines()[5:]]
cr = csv.reader(lines)
for row in cr:
if metar_search == row[1]:
print(row)
提示:仔细查看数据。
如果您知道只有一个结果,那么您可以在找到该行后停止搜索:
...
print(row)
break