Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 电报机器人-如何从解析的csv返回带有值的答案_Python_Csv_Telegram Bot - Fatal编程技术网

Python 电报机器人-如何从解析的csv返回带有值的答案

Python 电报机器人-如何从解析的csv返回带有值的答案,python,csv,telegram-bot,Python,Csv,Telegram Bot,我有一个带有几个字段的csv。 这个想法是: 用户在聊天中写入内容(文本) Bot检查用户写入的消息(值)是否在csv中 如果有,bot将显示csv中的字段作为写入值 到目前为止,我设法解析了csv文件并获得了一个列表: myTable = [] with open("table.csv", 'r', encoding='utf-8-sig') as File: reader = csv.DictReader(File) for row in reader:

我有一个带有几个字段的csv。 这个想法是:

  • 用户在聊天中写入内容(文本)
  • Bot检查用户写入的消息(值)是否在csv中
  • 如果有,bot将显示csv中的字段作为写入值
  • 到目前为止,我设法解析了csv文件并获得了一个列表:

     myTable = []
    with open("table.csv", 'r', encoding='utf-8-sig') as File:
        reader = csv.DictReader(File)
        for row in reader:
            myTable.append(row)
    
    但我一直在处理用户的消息并正确返回答案,这种方式不起作用:

        @bot.message_handler(content_types=['text'])
    def send_text(message):
        if message.text in myTable:
            bot.reply_to(message, "Yes")
        else:
            bot.reply_to(message, "Nope")
    

    非常感谢您的帮助。

    只有当用户从
    myTable
    @AndreySherman发送准确的行(字符串格式)时,此示例才有效。谢谢您的评论。是的,这是真的,所以基本上我现在面临两个障碍:1)上面的代码片段不起作用-所以即使用户发送准确的值,也无法正确处理。看来连这部分都不对。2) 弄清楚如何处理用户发送的案例不是精确的值,而是以小写/大写字母或空格等开头的值。如果您对如何处理有任何想法/经验,我将不胜感激。@Flashka请尝试在
    send\u text
    函数中打印
    message.text
    myTable
    。至少要查看值。仅当用户从
    myTable
    @AndreySherman发送精确的行(字符串格式)时,此示例才有效谢谢您的评论。是的,这是真的,所以基本上我现在面临两个障碍:1)上面的代码片段不起作用-所以即使用户发送准确的值,也无法正确处理。看来连这部分都不对。2) 弄清楚如何处理用户发送的案例不是精确的值,而是以小写/大写字母或空格等开头的值。如果您对如何处理有任何想法/经验,我将不胜感激。@Flashka请尝试在
    send\u text
    函数中打印
    message.text
    myTable
    。至少要查看值。