【问题标题】:Taking variable from mysql record and saving it in python从mysql记录中获取变量并将其保存在python中
【发布时间】:2021-01-12 05:03:54
【问题描述】:

我找不到答案,所以我在这里问。我正在 python 中制作一个不和谐的机器人,我想基于另外两个在 mysql 中获取变量。服务器标识和用户标识。如果在同一记录中找到这两个变量,则在记录中获得第三个变量,称为 level。如果没有找到具有 serverid 和 userid 组合的用户,则将 level 变量设置为 1。

这是我的代码:

mycursor = mydb.cursor()
serveridsql="serverid here"
useridsql="userid here"
val =(serveridsql, useridsql)
sql = "SELECT * FROM users WHERE serverid=%s AND userid=%s"
mycursor.execute(sql, val)
myresult = mycursor.fetchall()
print(...)

我不知道如何打印第三个变量或将第三个变量保存到另一个变量,因为在输出中我得到了一个表格并且尝试打印“myresult[2]”不起作用。

【问题讨论】:

  • myresult 是满足搜索表达式的数据库行列表。如果只找到一条记录,则myresult[2] 不存在。
  • 尝试打印 myresult 以确定它包含什么

标签: python mysql discord.py


【解决方案1】:

我很确定您可以执行一个 for 循环来遍历您在 myresult 中获得的表中的行:

for row in myresult:
    print("userid = ", row[0], )
    print("serverid = ", row[1])

否则请告诉我你的桌子是什么样子的。您可以在发布前添加虚拟数据而不是真实数据。

【讨论】:

    【解决方案2】:

    myresult 是一个 python dataframe。您可以尝试以下方法-

    import numpy as np
    myresult['new_level'] = np.where(myresult['serverid'].isnull() & myresult['userid'].isnull(), 1, myresult['level']))
    

    numpy.where(condition, x, y) - 根据条件返回从 x 或 y 中选择的元素。 当为 True 时,产生 x,否则产生 y。

    【讨论】:

      猜你喜欢
      • 2013-09-27
      • 2016-03-06
      • 2020-07-25
      • 2016-08-24
      • 1970-01-01
      • 1970-01-01
      • 2016-10-19
      • 2021-04-17
      • 1970-01-01
      相关资源
      最近更新 更多