2016-04-14 14 views
0

tablo şeklinde bir dize ...Python: çıkışına nasıl böyle bir e-posta gövdesine çekiyorum ben función bir dizi var

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> 
""" 

ve bu e-postanın içindeki bir dize olarak veri döndürme olduğunu ... dize veya bir ile tabular gösterilmektedir böylece kodunu değiştirmek nasıl

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

Her i'dan sonra satır sonu?

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

Çeşitli yerlerde "/ n" yerleştirmeyi denedim, ancak yalnızca yürütmek yerine yazdırılıyor.

cevap

4

yerine uzayın yeni satır karakteri \n ile dates liste Üyelik:

date_list_string = '\n'.join(date_list) 

Bu dize çıktı satır başına bir tarih elemanını oluşturur. Ama bu (aynı zamanda veya bunun yerine), size HTML oluşturmak için kullanarak HTML satır sonu etiketleri eklemek gerekir konum olarak:

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

Veya her iki dizede satır aralıklarında ve HTML ile

+0

Bu mükemmel çalışıyor - teşekkürler! – dazzathedrummer

2

Terminalde yazdırıyorsanız, "\n" bir satırsonu anlamına gelir. HTML'de, <br> veya <br/> (XHTML), bunun yerine br brütleri için kullanılır. Yani:

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 Yazım hatası için teşekkürler! :) – jDo