【发布时间】:2014-09-08 10:16:14
【问题描述】:
我正在使用 PrettyTable 'from_db_cursor' 模块来很好地打印我从我的 sql 请求中得到的响应。一切正常,我唯一的问题是,对于某些查询,我想打印它们附加到同一行的表,如下所示:
countUnivers1: countUnivers2: countUnivers3:
+----------+ +----------+ +----------+
| COUNT(*) | | COUNT(*) | | COUNT(*) |
+----------+ +----------+ +----------+
| 1681943 | | 51954 | | 4140984 |
+----------+ +----------+ +----------+
但我无法找到如何做到这一点,这是我目前使用的代码:
i = 0
tables = []
with open(output, 'w+') as file:
file.write(str(current_time) + '\n')
for query in QUERIES.items():
cur.execute(query[1])
table = from_db_cursor(cur)
if not re.search('countUnivers' ,query[0]):
file.write('\n' + query[0] + ':\n')
file.write(str(table) + '\n')
else:
if i < 6:
file.write(query[0] + ':\t')
tables.append(str(table))
i += 1
elif i == 6:
file.write('\n')
for t in tables:
file.write(str(table) + '\t')
i = 0
tables = []
file.write('\nDatabase:\n' + json.dumps(dbParams, indent=4) + '\n')
这段代码输出我:
countUnivers1: countUnivers2: countUnivers3:
+----------+
| COUNT(*) |
+----------+
| 1681943 |
+----------+ +----------+
| COUNT(*) |
+----------+
| 51954 |
+----------+ +----------+
| COUNT(*) |
+----------+
| 4140984 |
+----------+
这里的QUERIES是一个OrderedDict,里面装满了SQL请求:
('countUnivers1', "SELECT COUNT(*) \
FROM ourson_offer o \
WHERE o.cat LIKE '1%' \
AND CHARACTER_LENGTH(o.cat) = 7"),
喜欢这个。
【问题讨论】:
标签: python python-2.7 mysql-python prettytable