Извлечение информации из файла .txt в python на основе пользовательского ввода - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть список в виде файла .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 голосов
/ 27 сентября 2018

простой питонический способ, надеюсь, он может помочь вам

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])
0 голосов
/ 27 сентября 2018

Вместо того, чтобы поместить его в список, я бы поместил вывод в 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.После этого мы печатаем значения Long / Lat, выбирая соответствующий город из DataFrame.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...