根据用户输入从python中的.txt文件中提取信息

时间:2018-09-26 21:45:21

标签: python input

我有一个.txt文件形式的列表,我需要根据用户输入从中提取某些信息。

Latitude   Longitude  City  Province/State   Country
82°30N     62°20W     Alert Nunavut    Canada
81°36N     16°40W     Nord  Greenland  Denmark
79°59N     85°56W     Eureka     Nunavut    Canada

这是列表的一小段。我了解如何提取信息并将其放入列表中。我需要找到用户输入的城市,然后输出城市的链接纬度和经度。我是python的新手,所以不确定我可以使用什么程序来解决这个问题。

2 个答案:

答案 0 :(得分:1)

不是将其放入列表中,而是将输出放入pandas.Dataframe(或仅放入dict)中。假设您的文本文件用制表符分隔,具有标题,并且每一行的长度相等,则可以执行以下操作:

df = pd.read_csv('yourfile.txt',delimiter='\t')

print('Enter name of City:')
name = input()
print('Latitude:', df[df['City'] == name]['Latitude'].values, 'Longitude:', df[df['City'] == name]['Longitude'].values)

如果执行脚本并键入城市名称,它将以字符串形式存储在name中。之后,我们打印经度/纬度值,从DataFrame中选择相应的城市。

答案 1 :(得分:0)

简单的pythonic方式,希望对您有所帮助

city = input("Enter City name")

with open('your text file') as file:
    print(file.readline().split()[:3])
    for line in file.readlines():
        if line.split()[2] == city:
            print(line.split()[:3])