я хочу напечатать вывод в лучшей структуре - PullRequest
1 голос
/ 21 октября 2019

У меня есть вывод, но это не в правильной структуре

import mysql.connector

myconn=mysql.connector.connect(host='-----',user='developer',passwd='----',database='pos')

cur=myconn.cursor()

try:
    cur.execute("select * from pos.tbl_store")
    print('ID  StoreID      Name                Type           State')
    for row in cur:
        print('%d %s  %s                %s    %s'%(row[0],row[1],row[2],row[3],row[4]))
except:
    myconn.rollback()
myconn.close()

Я получаю это

ID  StoreID      Name                Type           State
55 INAPHYD00036  MEDPLUS SAIDABAD               14    IN
58 INAPHYD00039  MEDPLUS DILSUKHNAGAR P&T COLONY                14    IN
64 INAPHYD00045  MEDPLUS MOTI NAGAR             14    IN
65 INAPHYD00046  MEDPLUS KPHB REMEDY HOSPITAL ROAD              14    IN
77 INAPHYD00058  MEDPLUS BOWENPALLY             14    IN

и ожидаемый результат:

ID   StoreID        Name                             Type        State
55   INAPHYD00036   MEDPLUS SAIDABAD                  14          IN
58   INAPHYD00039   MEDPLUS DILSUKHNAGAR P&T COLONY   14          IN
64   INAPHYD00045   MEDPLUS MOTI NAGAR                14          IN

Как я могу получить ожидаемый результат, показанный выше?

Ответы [ 2 ]

3 голосов
/ 21 октября 2019

Если вы можете установить сторонние пакеты, тогда я советую tabulate. Из командной строки:

pip install tabulate

Затем запустите:

from tabulate import tabulate

headers = ['ID', 'StoreID', 'Name', 'Type', 'State']
formatted_table = tabulate(cur, headers=headers, tablefmt='plain')
print(formatted_table)
0 голосов
/ 21 октября 2019

например, вы можете использовать пэд справа

h = ['ID', 'StoreID', 'Name', 'Type', 'State']
print(f'{h[0]:6}{h[1]:14}{h[2]:33}{h[3]:6}{h[4]:6}')

for row in cur:
    print(f'{row[0]:6}{row[1]:14}{row[2]:33}{row[3]:6}{row[4]:6}')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...