Python:如何以表格形式输出字符串

时间:2016-04-14 12:23:16

标签: python python-3.4

我有一个功能阵列......

for i in data:
    dates.append(str(i['month'])+": "+str(i['the_days']))

我正在接收这样的电子邮件正文...

date_list = avDates()
date_list_string = ' '.join(date_list)

html = """"<html>
<head></head>
<body>
<p> These are the dates: </p>
""" + date_list_string + """
</body>
<html>
"""

这是在电子邮件中将数据作为字符串返回...

Apr: 16, 29 May: 13, 27 Jun: 10, 11, 24 etc

如何更改代码,以便字符串以表格形式显示或在每个i之后使用换行符?

Apr: 16, 29 
May: 13, 27 
Jun: 10, 11, 24 
etc

我试过把&#34; / n&#34;在各个地方,但它只是打印而不是被执行。

2 个答案:

答案 0 :(得分:4)

使用换行符dates加入\n列表,而不是空格:

date_list_string = '\n'.join(date_list)

这将在字符串输出中为每行创建一个日期元素。但是,当您使用它来构建HTML时,您(也可以代替它)需要插入HTML换行标记:

date_list_string = '<br/>'.join(date_list)

或者在字符串和HTML中使用两个换行符:

date_list_string = '<br/>\n'.join(date_list)

答案 1 :(得分:2)

如果您要打印到终端,"\n"表示换行符。在HTML中,<br><br/>(XHTML)用于行 br eaks。所以:

for i in data:
    dates.append(str(i['month'])+": "+str(i['the_days']) + "<br>")

# OR

for i in data:
    dates.append("{}: {}<br>".format(str(i['month']), str(i['the_days']))

# OR 

date_list_string = '<br>'.join(date_list)