Как запустить конкретную строку из файла CSV в зависимости от ввода пользователя. Мой код просит пользователя ввести проблему с помощью своего телефона, если пользователь введет воду, то разлилось ключевое слово water или разлитая вода и будет напечатано решение, сохраненное в csv. Однако я хранил там много решений для разных ключевых слов.

-1
sufiya altaf 1 Апр 2017 в 15:43

2 ответа

Лучший ответ

Сначала переписать ваш набор данных как:

'turn', 'on', 'off'
put it on charger
'small', 'text'
go on settings.
...

Затем найдите проблему и напечатайте следующую строку.

problems = input("What is the problem?")

with open("/path/myfile.csv") as myfile:
    file = iter(myfile.readlines())
    for line in file:
        if any(word in line for word in problems.split()):
            print(next(file))
            break
2
TasosGlrs 1 Апр 2017 в 14:20

Если ваши проблемы / решения записаны в файле следующим образом:

Problems1\nSolution1\nProblems2\nSolution2

Что дает:

Problems1
Solution1
Problems2
Solution2

Вы можете попробовать этот код:

problem = input ('What is your problem ? ')

with open ('keywords.txt', 'r') as myfile:
    text = myfile.read()

list_of_problems_and_solutions = text.split('\n')

for i in range (0, len(list_of_problems_and_solutions )-1, 2):
    if problem in list_of_problems_and_solutions [i]
    print (list_of_problems_and_solutions [i + 1])

>>> What is your problem ? Problems1
Solution1

list_of_problems_and_solutions будет чем-то вроде ['Problems1', 'Solution1', 'Problems2', 'Solution2' ] Функция for i in range (0, len(list_of_problems_and_solutions )-1, 2): просматривает список от индекса 0 до конца с шагом 2. Как видите, когда я набираю Problems1 в качестве моей проблемы, Python возвращает Solution1. Вам нужно только заменить ваши ключевые слова / решения

2
Guil23 1 Апр 2017 в 14:01