我有一个字典列表,其中包含来自 sql 查询的字段 classid、dept、coursenum、area 和 title。我想以人类可读的格式输出这些值。我正在考虑在每列顶部添加一个列标题,然后在每列中添加适当的输出,即:
CLASSID DEPT COURSE NUMBER AREA TITLE
foo bar foo bar foo
yoo hat yoo bar hat
(显然具有标准对齐/间距)
我将如何在 python 中完成这个?
标准 Python 字符串格式 http://docs.python.org/library/string.html#formatstrings可能就足够了。
# assume that your data rows are tuples
template = "{0:8}|{1:10}|{2:15}|{3:7}|{4:10}" # column widths: 8, 10, 15, 7, 10
print template.format("CLASSID", "DEPT", "COURSE NUMBER", "AREA", "TITLE") # header
for rec in your_data_source:
print template.format(*rec)
Or
# assume that your data rows are dicts
template = "{CLASSID:8}|{DEPT:10}|{C_NUM:15}|{AREA:7}|{TITLE:10}" # same, but named
print template.format( # header
CLASSID="CLASSID", DEPT="DEPT", C_NUM="COURSE NUMBER",
AREA="AREA", TITLE="TITLE"
)
for rec in your_data_source:
print template.format(**rec)
使用对齐、填充和精确格式说明符以获得最佳结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)