python - 如何在 python 脚本中格式化 postgreSQL 查询以获得更好的可读性?
问题描述
我还有一个与我正在为学校工作的项目有关的问题。我创建了一个 PostgreSQL 数据库,有 5 个表和一堆行。我创建了一个脚本,允许用户使用菜单在数据库中搜索信息,以及从其中一个表中添加和删除内容。
在 PostgreSQL CLI 本身中显示一个表时,它看起来很干净,但是,即使是在没有用户输入的情况下显示一个简单的表时,它看起来也很混乱。虽然这是该项目的可选组件,但我更希望有一些看起来更干净的东西。
我尝试了各种我在网上看到的潜在解决方案,甚至一些来自堆栈溢出的解决方案,但它们都不起作用。每当我尝试使用我见过并有点理解的任何方法时,我总是会收到错误消息:
TypeError:“int”对象不可下标
我在我的代码中添加了一堆打印语句,试图找出它拒绝类型转换的原因。这是愚蠢的。知道我这可能是一个我看不到的简单错字。甚至不确定这个解决方案是否有效,只是我在网上看到的一个例子。
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 脚本和 PostgreSQL CLI 获得的输出之间的差异。出于隐私原因,我已经屏蔽了表格中的姓名。https://temporysite.weebly.com/
它不必看起来完全像 PostgreSQL,但任何看起来比目前的混乱更好的东西都会很棒。
解决方案
使用字符串格式来做到这一点。您也可以将其设置为向右或向左填充。至于日期使用 datetime.strftime。以下会将填充设置为 10 个位置:
print(”{:10}|{:10}".format(item[0], item[1]))
推荐阅读
- python - 尝试使用词袋概念生成特征列并合并到现有数据框
- python - 具有时间序列数据/行到列/重新组织数据到单行的数据透视表
- java - Spring webflux:在响应式请求处理的整个过程中保持 EntityManager 打开
- c# - 如何计算金额的间接费用
- javascript - 如何将事件从父级传递给子级以与功能组件做出反应?
- pouchdb - PouchDB 强制更新
- bash - 将格式化的日期行输出打印到 Bash 脚本中的文件
- javascript - 在 Node 中使用 googleapis 包交换访问令牌的授权码
- android - Xamarin Android:当ai点击recyclerview项目时如何从mainactivity中隐藏项目
- ios - 设置不同颜色的 UISlider 角的 setMinimumTrackImage