想要使用 pandas 和 sqlalchemy 从查询是变量(不和谐用户名)的数据库中选择所有内容
Posted
技术标签:
【中文标题】想要使用 pandas 和 sqlalchemy 从查询是变量(不和谐用户名)的数据库中选择所有内容【英文标题】:want to select all from a database where the query is a variable(discord username) using pandas and sqlalchemy 【发布时间】:2020-07-24 06:56:43 【问题描述】:我正在尝试通过不和谐机器人设置排行榜,当通过命令 !myscore 时,与该人的用户名对应的数据库行被发送到上下文通道,使用 pandas 和 sqlalchemy 使表格看起来不错,以及尝试使输出成为不和谐的“代码块”(在 ctx.send 消息的开头和结尾处需要 ```,这似乎不想与熊猫玩得很好并将字符串添加到变量输出)。
# send score for specific user
@bot.command(name='myscore', help='show score of specific')
async def scorecheck(ctx):
user = str(ctx.message.author)
print("recieved from " + user)
userscore = cur.execute(
'SELECT * FROM Leaderboard WHERE Username=?', (user, ))
#query = "SELECT * from Leaderboards WHERE Username =?"
#userscore = pd.read_sql_query(query, db, params=user)
# (sa.text("SELECT * FROM Leaderboard WHERE Username=:user"), engine, params="user": user)
#userscore = pd.read_sql_query(query, db)
print(ctx.message.author)
await ctx.send(userscore)
print('Score view successful')
注释的代码是我试图让它工作的其他一些东西。
打印消息主要用于查看代码是否正在执行,因为它没有输出任何内容。
与所有未注释代码不一致的当前输出是:
<sqlite3.Cursor object at 0x0F08F6A0>
我对编码还是很陌生,基本上是边走边学,但是没有运气来整理这个
下面是sqlitestudio中的sql表
sql setup
current data in table
【问题讨论】:
【参考方案1】:哪一列包含有关用户分数的信息?下面的代码用于排行榜表中的列score
。首先,我通过fetchrow
从表中获取 1 行,0 索引元素是用户的分数,userscore 是获取的列及其内容的数组。
# send score for specific user
@bot.command(name='myscore', help='show score of specific')
async def scorecheck(ctx):
user = str(ctx.message.author)
print("recieved from " + user)
userscore = cur.fetchrow(
'SELECT score FROM Leaderboard WHERE Username=?', (user, ))
if not userscore:
await ctx.send("User name not in database :(".format(name=user))
return
await ctx.send("name's score is score".format(
name=user,
score=userscore[0]
))
print('Score view successful')
```
【讨论】:
使用此代码打印从 printline 收到的内容,但在不和谐频道中不输出任何内容 显示排行榜的表格结构 不是 100% 确定你的意思,但已经放了一些图片 userscore = cur.fetchrow('SELECT TotalPoints FROM Leaderboard WHERE Username=?', (user, ))以上是关于想要使用 pandas 和 sqlalchemy 从查询是变量(不和谐用户名)的数据库中选择所有内容的主要内容,如果未能解决你的问题,请参考以下文章
截断表不适用于 SQL Server sqlalchemy 引擎和 pandas
Pandas 和 SQLAlchemy:使用来自 engine.begin() 的连接时,带有 SQLAlchemy 2.0 fututre=True 的 df.to_sql() 会引发错误
如何在 SQLAlchemy 的`create_engine` 中使用`charset` 和`encoding`(创建pandas 数据框)?
如何使用 pandas sqlalchemy 和 psycopg2 处理 NaT
无法在 ETL 过程中使用 Pandas 和 SQLAlchemy 将列名从 CSV 更改为 SQL Server DB