You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python心理健康聊天机器人代码中存储用户输入的响应数据

如何在心理健康聊天机器人中存储用户输入?

嘿,我来帮你搞定这个存储用户输入的需求~针对你的心理健康聊天机器人代码,我给你几个简单实用的方案,都是直接能套进去用的:

方法1:用文本文件存储(最简单直观)

这种方式适合快速记录,每条输入会追加到文件末尾,不会覆盖之前的内容,还可以加上时间戳方便追踪:

print("Hey Welcome To Mental health chatbot")
import time
from datetime import datetime  # 用来记录每条输入的时间,可选但很实用

time.sleep(1)
a = input("So how are you feeling today ").strip().upper()

# 核心存储代码:以追加模式打开文本文件
with open("user_responses.txt", "a", encoding="utf-8") as f:
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    f.write(f"{timestamp} - 用户输入: {a}\n")

# 原有的逻辑判断,我帮你优化成更简洁的写法啦
if a in ["NICE", "GOOD", "I AM GOOD"]:
    print("That's nice to hear")
elif a in ["BAD", "NOT NICE", "IT WAS A BAD DAY"]:
    print("Oh")

运行后,你会在代码同目录下看到user_responses.txt文件,里面会像这样记录:

2024-05-20 14:30:00 - 用户输入: GOOD
2024-05-20 14:32:15 - 用户输入: BAD

方法2:用CSV文件存储(适合后续数据分析)

如果之后你想统计用户的情绪分布,CSV格式会更方便——它是结构化的表格形式,能用Excel或者Python的数据分析工具直接打开:

print("Hey Welcome To Mental health chatbot")
import time
import csv
from datetime import datetime

time.sleep(1)
a = input("So how are you feeling today ").strip().upper()

# 核心存储代码:写入CSV文件
with open("user_responses.csv", "a", newline="", encoding="utf-8") as csvfile:
    # 定义表头字段
    fieldnames = ["timestamp", "user_input"]
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    
    # 如果是第一次写入,先添加表头
    csvfile.seek(0, 2)
    if csvfile.tell() == 0:
        writer.writeheader()
    
    # 写入当前的用户输入和时间
    writer.writerow({
        "timestamp": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
        "user_input": a
    })

# 优化后的逻辑判断
if a in ["NICE", "GOOD", "I AM GOOD"]:
    print("That's nice to hear")
elif a in ["BAD", "NOT NICE", "IT WAS A BAD DAY"]:
    print("Oh")

生成的CSV文件会有清晰的表头,内容大概是:

timestampuser_input
2024-05-20 14:35:00GOOD
2024-05-20 14:36:20BAD

额外小提示:临时会话存储(非持久化)

如果只是想在聊天会话期间暂时保存用户输入(程序关闭后数据就消失),可以用一个列表来存:

# 初始化一个空列表来存会话中的输入
user_inputs = []

print("Hey Welcome To Mental health chatbot")
import time
time.sleep(1)
a = input("So how are you feeling today ").strip().upper()
user_inputs.append(a)  # 把当前输入加到列表里

# 之后可以随时查看列表里的所有输入
print("你今天的输入记录:", user_inputs)

# 原有的逻辑判断
if a in ["NICE", "GOOD", "I AM GOOD"]:
    print("That's nice to hear")
elif a in ["BAD", "NOT NICE", "IT WAS A BAD DAY"]:
    print("Oh")

内容的提问来源于stack exchange,提问作者aarush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 09:57:44