如何解决如何从python漂亮表中删除重复的行?
我使用以下代码从 MysqL 数据库输入数据并在 python shell 中显示它。我用prettytable 使看起来很漂亮。但是现在我遇到了这个错误,如果我在一次运行中多次调用 display 函数,漂亮表中的行会不断重复自己。请帮帮我!!!
import MysqL.connector
from prettytable import prettytable
x = prettytable()
x.field_names = ["Name","AccNo","PhoneNumber","Deposit","Gmail"]
def displayAll():
mycursor.execute("select * from accountsxyz")
for i in mycursor:
x.add_row(i)
print(x)
if ch == '5':
displayAll()
当我运行上面的程序时,如果我多次调用 displayAll 函数,我会得到重复的行!以下是上面代码的输出__
OUTPUT:::::----
#calling the displayALL function 1st time ::
'''To go back to main menu,press any key+enter (or) just enter:
MAIN MENU
1. NEW ACCOUNT
2. DEPOSIT AMOUNT
3. WITHDRAW AMOUNT
4. BALANCE ENQUIRY
5. ALL ACCOUNT HOLDER LIST
6. CLOSE AN ACCOUNT
7. MODIFY AN ACCOUNT
8. EXIT
Select Your Option (1-8)
5
+-------+-------+-------------+---------+---------------+
| Name | AccNo | PhoneNumber | Deposit | Gmail |
+-------+-------+-------------+---------+---------------+
| AYUSH | 1 | 123456 | 1234 | AQS@GMAIL.COM |
+-------+-------+-------------+---------+---------------+
#calling the displayALL function 2nd time in the same run ::
To go back to main menu,press any key+enter (or) just enter:
MAIN MENU
1. NEW ACCOUNT
2. DEPOSIT AMOUNT
3. WITHDRAW AMOUNT
4. BALANCE ENQUIRY
5. ALL ACCOUNT HOLDER LIST
6. CLOSE AN ACCOUNT
7. MODIFY AN ACCOUNT
8. EXIT
Select Your Option (1-8)
5
+-------+-------+-------------+---------+---------------+
| Name | AccNo | PhoneNumber | Deposit | Gmail |
+-------+-------+-------------+---------+---------------+
| AYUSH | 1 | 123456 | 1234 | AQS@GMAIL.COM |
| AYUSH | 1 | 123456 | 1234 | AQS@GMAIL.COM |
+-------+-------+-------------+---------+---------------+
To go back to main menu,press any key+enter (or) just enter:5
MAIN MENU
1. NEW ACCOUNT
2. DEPOSIT AMOUNT
3. WITHDRAW AMOUNT
4. BALANCE ENQUIRY
5. ALL ACCOUNT HOLDER LIST
6. CLOSE AN ACCOUNT
7. MODIFY AN ACCOUNT
8. EXIT
Select Your Option (1-8)
5
+-------+-------+-------------+---------+---------------+
| Name | AccNo | PhoneNumber | Deposit | Gmail |
+-------+-------+-------------+---------+---------------+
| AYUSH | 1 | 123456 | 1234 | AQS@GMAIL.COM |
| AYUSH | 1 | 123456 | 1234 | AQS@GMAIL.COM |
| AYUSH | 1 | 123456 | 1234 | AQS@GMAIL.COM |
+-------+-------+-------------+---------+---------------+
To go back to main menu,press any key+enter (or) just enter:'''
解决方法
一个简单的解决方法是在 displayAll
中创建表:
def displayAll():
x = PrettyTable()
x.field_names = ["Name","AccNo","PhoneNumber","Deposit","Gmail"]
mycursor.execute("select * from accountsxyz")
for i in mycursor:
x.add_row(i)
print(x)
编辑:更简单的是:
from prettytable import from_db_cursor
def displayAll():
mycursor.execute("select * from accountsxyz")
print(from_db_cursor(mycursor))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。