我目前正忙于一个Python项目,我想从在线CSV文件中获取信息,并希望让用户通过输入函数进行搜索。目前,我可以通过链接从在线CSV文件中获取信息,但我无法进行连接,以便它搜索该CSV文件中的确切单词。
我目前已经尝试了多个教程,但大多数都不能解决我的问题。因此,我怀着极大的痛苦在这里写下这条信息,希望有人能帮助我。
到目前为止,我的代码是:
import csv
import urllib.request
metar_search = input('Enter the ICAO stationn')
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时,它不会返回任何信息。
当前的代码可能有点乱,因为我已经尝试了几件事,我也尝试过用它做一个函数,但没有成功。我做错了什么?
我希望有人能帮我解决这个问题。
事先非常感谢。
尝试
...
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