[英]How can I make the multi-line list from SQLite table in Discord on Python?
我試圖讓機器人將 SQLite 表中的值作為列表發送。 這是名為Employees的表:
這是我的命令顯示 emp 列表的功能:
@bot.command()
async def EmpTest(ctx):
with conn:
cursor.execute("SELECT emp_name, emp_position, emp_id FROM Employees")
emp_list = cursor.fetchall()
for j in range(0):
column = []
for i in range(0):
column += emp_list
column += "\n"
emp_list += column
for column in emp_list:
for item in column:
print(item, end=" ")
print()
await ctx.send(emp_list)
在控制台中打印時它工作得很好:
Jane emp_pos1 emp_1
Jake emp_pos2 emp_2
但這就是 Discord 在ctx.send(emp_list):
之后給出的輸出ctx.send(emp_list):
[('Jane', 'emp_pos1', emp_1), ('Jake', 'emp_pos2', emp_2)]
我怎樣才能讓它像 Discord 一樣發送在控制台?
當您從SQLite獲取數據時,您會得到一個tuple
類型的數據。 在這種情況下,您將獲得一個元組列表。
因此,首先,您需要獲取列表中的每一項。 你可以用for loop
來做到這一點。
for emp_info in emp_list:
print(emp_info)
簡單地說,您打印了 2 位員工的信息。
然后,您應該刪除括號。 有幾種方法可以做到這一點。 我將向您展示其中一種方法。
您可以使用string.join()
函數。 你可以這樣做:
for emp_info in emp_list:
print(', '.join(emp_info))
然后你可以像這樣編輯你的代碼:
for emp_info in emp_list:
await ctx.send(', '.join(emp_info))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.