2016-04-14 153 views
0

我有在一個函數,一個數組...的Python:如何輸出以表格形式的字符串

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 

我試過把「/ n」放在不同的地方,但它只是打印出來而不是被執行。

回答

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) 
+0

完美的作品 - 謝謝! – dazzathedrummer

2

如果您打印到終端,"\n"表示換行符。在HTML中,<br><br/>(XHTML)用於行br代替。所以:

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) 
+0

@bruno desthuilliers感謝您修復錯字! :) – jDo

相關問題