У меня есть еще один вопрос, связанный с проектом, над которым я работаю в школе. Я создал базу данных PostgreSQL с 5 таблицами и кучей строк. Я создал скрипт, который позволяет пользователю осуществлять поиск информации в базе данных с помощью меню, а также добавлять и удалять контент из одной из таблиц.
При отображении таблицы в самом CLI PostgreSQL она выглядит довольно чисто, однако всякий раз, когда отображается даже простая таблица без ввода данных пользователем, она выглядит действительно грязно. Хотя это необязательный компонент для проекта, я бы предпочел иметь что-то, что выглядит немного чище.
Я испробовал множество потенциальных решений, которые я видел в Интернете, даже несколько из-за переполнения стека, но ни одно из них не работает. Всякий раз, когда я пытаюсь использовать любой из методов, которые я видел и в чем-то понимаю, я всегда получаю ошибку:
TypeError: объект 'int' не может быть подписан
Я добавил в свой код кучу операторов print, чтобы попытаться выяснить, почему он отказывается от typecast. Это глупо. Зная меня, это, вероятно, простая опечатка, которую я не вижу. Даже не уверен, что это решение будет работать, только один из примеров, которые я видел в Интернете.
try:
connection = psycopg2.connect(database='Blockbuster36', user='dbadmin')
cursor = connection.cursor()
except psycopg2.DatabaseError:
print("No connection to database.")
sys.exit(1)
cursor.execute("select * from Customer;")
tuple = cursor.fetchone()
List_Tuple = list(tuple)
print("Customer_ID | First_Name | Last_Name | Postal_Code | Phone_Num | Member_Date")
print(List_Tuple)
print()
for item in List_Tuple:
print(item[0]," "*(11-len(str(item[0]))),"|")
print(item)
print(type(item))
print()
num = str(item[0])
print(num)
print(type(num))
print(str(item[0]))
print(type(str(item[0])))
cursor.close()
connection.close()
Я загрузил разницу между выводом, полученным через базовый скрипт на python, и в CLI PostgreSQL. Я заблокировал имена в таблицах по соображениям конфиденциальности. https://temporysite.weebly.com/
Это не обязательно должно быть похоже на PostgreSQL, но все, что выглядит лучше, чем текущий беспорядок, было бы замечательно.