【发布时间】:2019-01-25 00:53:23
【问题描述】:
我用 Python 创建了一个问答游戏,其中还包含一个登录和注册程序,但我正在尝试添加一个评分系统。
目前,我的 CSV 文件格式如下:
username,password,score
当您创建帐户时,分数设置为 0,并在您使用以下方式登录时加载:
for row in users:
if username == row[0]:
currentScore = row[2]
currentScore = int((currentScore))
这会从 CSV 文件中获取用户的高分。 然而,当一场比赛结束时,我有这个设置来确定他们的新分数是否高于旧分数:
if int(score) > int(currentScore):
currentscore = score
然后我需要它来打开数据库并找到正在玩的用户并用新的用户更新那里的分数。我该怎么做?我试图让 csv 编辑某一行,但它似乎不起作用。
完整代码可以在这里找到:https://pastebin.com/q07qazJA
【问题讨论】:
-
then need it to open the database,那会是哪个数据库? csv 不是数据库,为什么不直接使用sqlite,因为它包含在标准库中。会让你的生活轻松很多。 -
我不想处理 sql 使用
.json文件。您可以将数据视为 dict 而无需遍历所有数据。字典经过哈希处理,以便于查找,否则我建议使用 pandas 让您的 csv 文件更轻松。 -
为什么不使用 pandas 呢?这真是一个很棒的包。
-
Pandas 是一个非常棒的软件包,但它的开销很大。从效率的角度来看,仅使用它来读取/写入 csv 文件是不明智的。记住那句话:如果你唯一的工具是锤子,那么每个问题看起来都像钉子
标签: python python-3.x csv