<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: write contents of CSV to body of email in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617254#M48136</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It's really hard to tell but I'd suspect that there is some mismatch in the number of items&amp;nbsp;within the&amp;nbsp;arrays in the lists.&amp;nbsp; I'd strip the down&amp;nbsp;to make sure there are the same number of columns in&amp;nbsp;each&amp;nbsp;array.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 19 Dec 2016 17:53:08 GMT</pubDate>
    <dc:creator>JamesCrandall</dc:creator>
    <dc:date>2016-12-19T17:53:08Z</dc:date>
    <item>
      <title>write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617245#M48127</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to write the contents of a csv to the body of an email and of course having issues.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can list out the contents as such. &amp;nbsp;But looking for a formatted HTML version that I can place in the body of an email...I have been through a dozen of forums and cant seem to find a simple solution and one that works..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; csv&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;register_dialect&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="string token"&gt;'mydialect'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delimiter &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;','&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quotechar &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'"'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doublequote &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;True&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; skipinitialspace &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;True&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lineterminator &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'\r\n'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quoting &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; csv&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;QUOTE_MINIMAL&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"\n Now the output from a dictionary created from the csv file"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; open&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'z_outFileRegion1.csv'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'rb'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; mycsvfile&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dictofdata &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; csv&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;DictReader&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mycsvfile&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; dialect&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'mydialect'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; row &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; dictofdata&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;row&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'region'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"\t "&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;row&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'county'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"\t "&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;row&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'ramp'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried this one but cant get it to work&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://stackoverflow.com/questions/27168764/send-the-contents-of-a-csv-as-a-table-in-an-email" title="http://stackoverflow.com/questions/27168764/send-the-contents-of-a-csv-as-a-table-in-an-email" rel="nofollow noopener noreferrer" target="_blank"&gt;python - Send the contents of a CSV as a table in an email? - Stack Overflow&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://stackoverflow.com/questions/30271013/python-send-email-from-a-csv-list" title="http://stackoverflow.com/questions/30271013/python-send-email-from-a-csv-list" rel="nofollow noopener noreferrer" target="_blank"&gt;Python send email from a csv list - Stack Overflow&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyone have any easy solution to grab the CSV, format with HTML and attach it to the body of the email?&lt;/P&gt;&lt;P&gt;Below I am attaching the csv to the email but want to display the records in the email itself.&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; filename &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"z_outFileRegion1.csv"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; f &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; file&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;filename&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#===BUILD EMAIL========================================&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;msgEmail&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MIMEMultipart&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#body = "This is the message"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#content = MIMEText(body, 'plain')&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#msg.attach(content)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attachment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MIMEText&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;f&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;read&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attachment&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;add_header&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'Content-Disposition'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'attachment'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; filename&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;filename&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;attach&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;attachment&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'Subject'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Region Report "&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; CurrentDate

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; server &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; smtplib&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SMTP&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'smtp1.fff'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;25&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; server&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;set_debuglevel&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; server&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ehlo&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; server&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sendmail&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;FROMADDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; TOADDRS&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; msg&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;as_string&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; server&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;quit&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#===PROCESS EMAIL======================================&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; getMsgP &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; msgEmail&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; getMsgP‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:22:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617245#M48127</guid>
      <dc:creator>jaykapalczynski</dc:creator>
      <dc:date>2021-12-12T02:22:44Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617246#M48128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can create an array, convert to string and put that in some HTML formatting and add it to the email&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I just get a huge jumbled mess of comma delimited list/string in the email...there is no formatting...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Is there a way to format the Array and add that to the email&lt;/LI&gt;&lt;LI&gt;Is there a way to parse/split the string and format that?&lt;/LI&gt;&lt;LI&gt;Is there a way to split the string on a specific "," (index) and then at least add a space between lines in the email?&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;date_list &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mylist
date_list_string &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"\n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;date_list&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;# edit this to match the desired output&lt;/SPAN&gt;

html &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;p&amp;gt;These are the available dates: &amp;lt;/p&amp;gt;
"""&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; date_list_string &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;""""
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
"""&lt;/SPAN&gt;

part3 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MIMEText&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;html&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'html'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
msg&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;attach&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;part3&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I GET THIS:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11px;"&gt;1,King WIlliam,Lestor Manor,2016-09-21 14:41:07,yes,na,na,na,no,Human feces all over sign,Sprayed with cleaner and washed off with bucket of water,None fruther,yes,na,na,na,yes,na,na,na,no,Erosion starting from hill,None,Will continue to monitor and follow up,no,na,Mowed grass,na,yes,na,na,na,yes,na,na,na,no,Yes,na,na,na,no,na,na,na,no,na,na,na,no,na,na,na,yes,na,na,na,yes,na,na, na,yes,na,na,na,yes,na,na,na,no,No,na,na,na,Note: Fishing line recycling tube full of trash need to monitor and remove if continues to be problem ,2016-09-21 14:44:17,jkirk922,2016-11-08 18:28:54,jay.kai,3.5861196,-7.98457474 1,King &amp;amp; Queen,Waterfence,2016-09-21 15:46:31,no,Missing trail blazer from tree work,Replaced,None,yes,na,na,na,yes,na,na,na,yes,na,na,na,no,Pothole forming,None,Monitor and fill with cold patch,no,na,Mowed grass,na,yes,na,na,na,yes,na,na,na,no,Yes,na,na,na,no,na,na,na,no,na,na,na,no,na,na,na,yes,na,na,na,yes,na,na, na,yes,na,na,na,yes,na,na,na,no,No,na,na,na,na,2016-09-21 15:48:08,jkirk922,2016-11-08 18:28:54,jay.kai,3.59206276,-7.79871466&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13px;"&gt;AT A MINIMUM WAN THIS:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11px;"&gt;&lt;SPAN&gt;1,King WIlliam,Lestor Manor,2016-09-21 14:41:07,yes,na,na,na,no,Human feces all over sign,Sprayed with cleaner and washed off with bucket of water,None fruther,yes,na,na,na,yes,na,na,na,no,Erosion starting from hill,None,Will continue to monitor and follow up,no,na,Mowed grass,na,yes,na,na,na,yes,na,na,na,no,Yes,na,na,na,no,na,na,na,no,na,na,na,no,na,na,na,yes,na,na,na,yes,na,na, na,yes,na,na,na,yes,na,na,na,no,No,na,na,na,Note: Fishing line recycling tube full of trash need to monitor and remove if continues to be problem ,2016-09-21 14:44:17,jkirk922,2016-11-08 18:28:54,jay.kapalczynski,3.5861196,-7.98457474 &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11px;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11px;"&gt;&lt;SPAN&gt;1,King &amp;amp; Queen,Waterfence,2016-09-21 15:46:31,no,Missing trail blazer from tree work,Replaced,None,yes,na,na,na,yes,na,na,na,yes,na,na,na,no,Pothole forming,None,Monitor and fill with cold patch,no,na,Mowed grass,na,yes,na,na,na,yes,na,na,na,no,Yes,na,na,na,no,na,na,na,no,na,na,na,no,na,na,na,yes,na,na,na,yes,na,na, na,yes,na,na,na,yes,na,na,na,no,No,na,na,na,na,2016-09-21 15:48:08,jkirk922,2016-11-08 18:28:54,jay.kai,3.59206276,-7.79871466&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:22:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617246#M48128</guid>
      <dc:creator>jaykapalczynski</dc:creator>
      <dc:date>2021-12-12T02:22:46Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617247#M48129</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Im getting close but this results in the below....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;how can I make the fields widths wider so I can read it..&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; open&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'z_outFileRegion1.csv'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'rb'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; f&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; reader &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; csv&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;reader&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;f&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; your_list &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; list&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;reader&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; 
&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#First, create the texts of the columns:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cols &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"&amp;lt;td&amp;gt;{0}&amp;lt;/td&amp;gt;"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt; format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;t&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; t &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; your_list&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#then use it to join the rows (tr)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;tr&amp;gt;{0}&amp;lt;/tr&amp;gt;"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;/tr&amp;gt;\n&amp;lt;tr&amp;gt;"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cols&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#finaly, inject it into the html...&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; html1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""&amp;lt;HTML&amp;gt; &amp;lt;body&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1&amp;gt;Attendance list&amp;lt;/h1&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table&amp;gt;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0}&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/HTML&amp;gt;"""&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;rows&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; part3 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MIMEText&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;html1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'html'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;attach&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;part3&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1 id="toc-hId-1956745370"&gt;Attendance list&lt;/H1&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;region&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;county&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;ramp&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;date&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;trailblazers&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;TrailDes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;TrailActionT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;railActionN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;regulations&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;RegDes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;RegActionT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;regActionN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;safteygsign&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;safteygsignP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;safteygsignT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;safteygsignN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;rutfree&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;rutfreeP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;rutfreeT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;rutfreeN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;potholes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;potholesP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;potholesT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;potholesN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;grass&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;grassP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;grassT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;grassN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;trash&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;trashP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;trashT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;trashN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;portapotties&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;portapottiesP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;portapottiesT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;portapottiesN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;lighting&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;lights&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;lightingP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;lightingT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;lightingN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;courtesypier&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;courtesypierP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;courtesypierT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;courtesypierN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;boatslide&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;boatslideP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;boatslideTaken&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;boatslideN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;fishingpier&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;fishingpierP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;fishingpierT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;fishingpierN&lt;/P&gt;&amp;lt;/&amp;gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;debris&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;debrisP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;debrisT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;debrisN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;potholesramp&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;potholesrampP&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;potholesrampT&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;potholesrampN&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;bulkhead&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;bulkheadPbulkheadTbulkheadNshorelineshorelinePshorelineTshorelineNcontractorcontractordutiescontractorPcontractorTcontractorNcommentsCreationDateCreatorEditDateEditorLatLong&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;King WIlliam&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;Lestor Manor&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;2016-09-21 14:41:07&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;yes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;no&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;Human feces all over sign&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;Sprayed with cleaner and washed off with bucket of water&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;None fruther&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;yes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;yes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;no&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;Erosion starting from hill&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;None&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;Will continue to monitor and follow up&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;no&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;Mowed grass&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;yes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;yes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;no&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;no&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;no&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;no&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;yes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;yes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;na&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;yes&lt;/P&gt;&lt;/TD&gt;&lt;TD style="padding: .75pt .75pt .75pt .75pt;"&gt;&lt;P&gt;nananayesnanananoNo nananaNote: Fishing line recycling tube full of trash need to monitor and remove if continues to be problem 2016-09-21 14:44:17jkirk9222016-11-08 18:28:54jay.ka3.5861196-7.98457474%s&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:22:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617247#M48129</guid>
      <dc:creator>jaykapalczynski</dc:creator>
      <dc:date>2021-12-12T02:22:49Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617248#M48130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This discussion is full of poop...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyway, since you've ventured out of printing in Python to crafting an HTML email (which is an adventure in its self), you should start looking up ways to solve your problem with HTML. For example, the &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&lt;A href="http://www.w3schools.com/TAgs/att_col_width.asp"&gt;col width&lt;/A&gt;&lt;/SPAN&gt;&amp;nbsp;table attribute might be something to try for setting the width of the columns in your table. Instead, I suspect you might actually want to just set the &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&lt;A href="http://www.w3schools.com/tags/att_table_width.asp"&gt;table width&lt;/A&gt;&lt;/SPAN&gt;&amp;nbsp;to 100%.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ultimately though, you'll be limited by the screen size of the email client rendering the html message.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Dec 2016 23:22:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617248#M48130</guid>
      <dc:creator>BlakeTerhune</dc:creator>
      <dc:date>2016-12-16T23:22:00Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617249#M48131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Geeze thanks Blake...you are so kind. &amp;nbsp;I simple suggestion steering me towards printing in python would have been nice. &amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there anyone out there, someone that choose not to insult people, that have any idea of how to do this. &amp;nbsp;I dont care if its HTML just thought that &amp;nbsp;might be an easier option formatting wise.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Dec 2016 14:09:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617249#M48131</guid>
      <dc:creator>jaykapalczynski</dc:creator>
      <dc:date>2016-12-19T14:09:57Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617250#M48132</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It takes a some time to work with but I would recommend trying the jinja2 library or alternative templating library. It has many options for looping over python objects. We have standardized our formatted email's using html and attachments. It works very well, it is much easier to copy and reuse existing templates than to&amp;nbsp;understand inline print statements.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Dec 2016 14:54:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617250#M48132</guid>
      <dc:creator>RonnieRichards</dc:creator>
      <dc:date>2016-12-19T14:54:09Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617251#M48133</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Haha, sorry! I was making a joke about the repeated occurrences of "&lt;SPAN style="background-color: #ffffff;"&gt;Human feces all over sign" in your posts. My apologies for any insult taken. My suggestions are honest though, I really think you should try adding some HTML formatting to style the email.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Dec 2016 15:16:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617251#M48133</guid>
      <dc:creator>BlakeTerhune</dc:creator>
      <dc:date>2016-12-19T15:16:33Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617252#M48134</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Format the list items into a merged html line then populate a complete html into a message body. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;mylist &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah2"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah3"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah4"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah5"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah33"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah44"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah55"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah66"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah77"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah111"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah222"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah333"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah444"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah555"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
mylistitem &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"""&amp;lt;a href=&amp;gt;"""&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; str&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;i&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""&amp;lt;/a&amp;gt;"""&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; i &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; mylist&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
merged &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;item &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; sublist &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; zip&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mylistitem&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; item &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; sublist&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
htmlline &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'\n'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;merged&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#print htmlline&lt;/SPAN&gt;
html &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;html&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;&amp;lt;br&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Python Script Errors &amp;amp; Logging Reports&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | Log Items | &amp;lt;br&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; htmlline &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/p&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/html&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; html&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:22:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617252#M48134</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2021-12-12T02:22:52Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617253#M48135</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When I use your code James I get this...I was looking for something that would look more formatted as line items...did I do something wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; open&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'z_outFileRegion1.csv'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'rb'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; f&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; reader &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; csv&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;reader&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;f&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; your_list &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; list&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;reader&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mylistitem &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"""&amp;lt;a href=&amp;gt;"""&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; str&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;i&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""&amp;lt;/a&amp;gt;"""&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; i &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; your_list&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; merged &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;item &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; sublist &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; zip&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mylistitem&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; item &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; sublist&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlline &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'\n'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;merged&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#print htmlline&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; html &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""\
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;html&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;&amp;lt;br&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Python Script Errors &amp;amp; Logging Reports&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | Log Items | &amp;lt;br&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; htmlline &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/p&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/html&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; """&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; html&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 12.0pt;"&gt;Python Script Errors &amp;amp; Logging Reports&lt;/P&gt;&lt;P style="margin-bottom: 12.0pt;"&gt;&lt;BR /&gt; | Log Items | &lt;BR /&gt; &lt;SPAN&gt;['region', 'county', 'ramp', 'date', 'trailblazers', 'TrailDes', 'TrailActionT', 'railActionN', 'regulations', 'RegDes', 'RegActionT', 'regActionN', 'safteygsign', 'safteygsignP', 'safteygsignT', 'safteygsignN', 'rutfree', 'rutfreeP', 'rutfreeT', 'rutfreeN', 'potholes', 'potholesP', 'potholesT', 'potholesN', 'grass', 'grassP', 'grassT', 'grassN', 'trash', 'trashP', 'trashT', 'trashN', 'portapotties', 'portapottiesP', 'portapottiesT', 'portapottiesN', 'lighting', 'lights', 'lightingP', 'lightingT', 'lightingN', 'courtesypier', 'courtesypierP', 'courtesypierT', 'courtesypierN', 'boatslide', 'boatslideP', 'boatslideTaken', 'boatslideN', 'fishingpier', 'fishingpierP', 'fishingpierT', 'fishingpierN', 'debris', 'debrisP', 'debrisT', 'debrisN', 'potholesramp', 'potholesrampP', 'potholesrampT', 'potholesrampN', 'bulkhead', 'bulkheadP', 'bulkheadT', 'bulkheadN', 'shoreline', 'shorelineP', 'shorelineT', 'shorelineN', 'contractor', 'contractorduties', 'c ontractorP', 'contractorT', 'contractorN', 'comments', 'CreationDate', 'Creator', 'EditDate', 'Editor', 'Lat', 'Long']&lt;/SPAN&gt; &lt;SPAN&gt;['1', 'King WIlliam', 'Lestor Manor', '2016-09-21 14:41:07', 'yes', 'na', 'na', 'na', 'no', 'Human feces all over sign', 'Sprayed with cleaner and washed off with bucket of water', 'None fruther', 'yes', 'na', 'na', 'na', 'yes', 'na', 'na', 'na', 'no', 'Erosion starting from hill', 'None', 'Will continue to monitor and follow up', 'no', 'na', 'Mowed grass', 'na', 'yes', 'na', 'na', 'na', 'yes', 'na', 'na', 'na', 'no', 'Yes', 'na', 'na', 'na', 'no', 'na', 'na', 'na', 'no', 'na', 'na', 'na', 'no', 'na', 'na', 'na', 'yes', 'na', 'na', 'na', 'yes', 'na', 'na', ' na', 'yes', 'na', 'na', 'na', 'yes', 'na', 'na', 'na', 'no', 'No', 'na', 'na', 'na', 'Note: Fishing line recycling tube full of trash need to monitor and remove if continues to be problem ', '2016-09-21 14:44:17', 'jkirk922', '2016-11-08 18:28:54', 'jay.ki', '37.5861196', '-76.98457474%s']&lt;/SPAN&gt; &lt;SPAN&gt;['1', 'King &amp;amp; Queen', 'Waterfence', '2016-09-21 15:46:31', 'no', 'Missing trail blazer from tree work', 'Replaced', 'None', 'yes', 'na', 'na', 'na', 'yes', 'na', 'na', 'na', 'yes', 'na', 'na', 'na', 'no', 'Pothole forming', 'None', 'Monitor and fill with cold patch', 'no', 'na', 'Mowed grass', 'na', 'yes', 'na', 'na', 'na', 'yes', 'na', 'na', 'na', 'no', 'Yes', 'na', 'na', 'na', 'no', 'na', 'na', 'na', 'no', 'na', 'na', 'na', 'no', 'na', 'na', 'na', 'yes', 'na', 'na', 'na', 'yes', 'na', 'na', ' na', 'yes', 'na', 'na', 'na', 'yes', 'na', 'na', 'na', 'no', 'No', 'na', 'na', 'na', 'na', '2016-09-21 15:48:08', 'jkirk922', '2016-11-08 18:28:54', 'jay.ki', '37.59206276', '-76.79871466%s']&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:22:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617253#M48135</guid>
      <dc:creator>jaykapalczynski</dc:creator>
      <dc:date>2021-12-12T02:22:54Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617254#M48136</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It's really hard to tell but I'd suspect that there is some mismatch in the number of items&amp;nbsp;within the&amp;nbsp;arrays in the lists.&amp;nbsp; I'd strip the down&amp;nbsp;to make sure there are the same number of columns in&amp;nbsp;each&amp;nbsp;array.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Dec 2016 17:53:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617254#M48136</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2016-12-19T17:53:08Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617255#M48137</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I tweaked this line and got the lines to separate...added 2 &amp;lt;br&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mylistitem = (["""&amp;lt;a href=&amp;gt;""" + str(i) + """&amp;lt;/a&amp;gt;&lt;STRONG style="color: #ff0000;"&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/STRONG&gt;""" for i in your_list])&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Questions:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Should I be expecting the Headers to show up before each value in each of the 2 record returns?&lt;/LI&gt;&lt;LI&gt;What result should I be expecting from your code?&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;&lt;SPAN style="font-size: 12px;"&gt;Python Script Errors &amp;amp; Logging Reports&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt; | Log Items | &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt; region , county , ramp , date , trailblazers , TrailDes , TrailActionT , railActionN , regulations , RegDes , RegActionT , regActionN , safteygsign , safteygsignP , safteygsignT , safteygsignN , rutfree , rutfreeP , rutfreeT , rutfreeN , potholes , potholesP , potholesT , potholesN , grass , grassP , grassT , grassN , trash , trashP , trashT , trashN , portapotties , portapottiesP , portapottiesT , portapottiesN , lighting , lights , lightingP , lightingT , lightingN , courtesypier , courtesypierP , courtesypierT , courtesypierN , boatslide , boatslideP , boatslideTaken , boatslideN , fishingpier , fishingpierP , fishingpierT , fishingpierN , debris , debrisP , debrisT , debrisN , potholesramp , potholesrampP , potholesrampT , potholesrampN , bulkhead , bulkheadP , bulkheadT , bulkheadN , shoreline , shorelineP , shorelineT , shorelineN , contractor , contractorduties , co ntractorP , contractorT , contractorN , comments , CreationDate , Creator , EditDate , Editor , Lat , Long &lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt; 3 , Grayson , Independence , 2016-11-23 16:31:59 , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , no , None , None , None , None , no , None , None , None , no , None , None , None , no , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , no , None , None , None , None , JUNK RECORD , 2016-11-23 16:32:22 , BoatGuest , 2016-11-23 16:32:22 , BoatGuest , 36.57220761 , -81.1524287%s &lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN&gt;&lt;SPAN style="font-size: 12px;"&gt;3 , Grayson , Bridle Creek , 2016-11-23 16:44:01 , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , no , None , None , None , None , no , None , None , None , yes , fdff , fggv , g b v , no , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , yes , None , None , None , no , None , None , None , None , JUNK RECORD , 2016-11-23 16:44:28 , BoatGuest , 2016-11-23 16:44:28 , BoatGuest , 36.59588241 , -81.24224305%s&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Dec 2016 18:54:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617255#M48137</guid>
      <dc:creator>jaykapalczynski</dc:creator>
      <dc:date>2016-12-19T18:54:19Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617256#M48138</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; smtplib
&lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; email&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mime&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;multipart &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; MIMEMultipart
&lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; email&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mime&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;text &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; MIMEText
mylist2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah2"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah3"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah4"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah5"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah33"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah44"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah55"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah66"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah77"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah111"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah222"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah333"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah444"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah555"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
mylistitem &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"""&amp;lt;a href=&amp;gt;"""&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; str&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;i&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""&amp;lt;/a&amp;gt;"""&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; i &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; mylist&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
merged &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;item &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; sublist &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; zip&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mylistitem&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; item &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; sublist&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
htmlline &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'\n'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;merged&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
me &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:email1@myemail.com" rel="nofollow noopener noreferrer" target="_blank"&gt;email1@myemail.com&lt;/A&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
you &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:email2@myemail.com" rel="nofollow noopener noreferrer" target="_blank"&gt;email2@myemail.com&lt;/A&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;# Create message container - the correct MIME type is multipart/alternative.&lt;/SPAN&gt;
msg &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MIMEMultipart&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'alternative'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
msg&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'Subject'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Some Subject Line"&lt;/SPAN&gt;
msg&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'From'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; me
msg&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'To'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; you
html &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""\
&amp;lt;html&amp;gt;
&amp;nbsp; &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;
&amp;nbsp; &amp;lt;body&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;&amp;lt;br&amp;gt;
 Python Script Errors &amp;amp; Logging Reports&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;
 | Errors Items | &amp;lt;br&amp;gt;
 | Log Items | &amp;lt;br&amp;gt;
 """&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; htmlline &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/p&amp;gt;
&amp;nbsp; &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
"""&lt;/SPAN&gt;
part2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MIMEText&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;html&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'html'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
msg&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;attach&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;part2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
s &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; smtplib&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SMTP&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'mail.mydomain.com'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;25&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
s&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sendmail&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;me&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; you&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; msg&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;as_string&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"msg sent"&lt;/SPAN&gt;
s&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;quit&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:22:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617256#M48138</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2021-12-12T02:22:57Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617257#M48139</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I used your code in a separate .py file and this is what I got....Is this what you are&amp;nbsp;expecting&lt;/P&gt;&lt;P&gt;I needed to modify the "mylist2" variable in this line, because it just said "mylist"&lt;/P&gt;&lt;P&gt;mylistitem = (["""&amp;lt;a href=&amp;gt;""" + str(i) + """&amp;lt;/a&amp;gt;""" for i in &lt;STRONG style="color: #ff0000;"&gt;mylist2&lt;/STRONG&gt;])&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;RESULTS:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;Python Script Errors &amp;amp; Logging Reports&lt;BR /&gt;&lt;BR /&gt; | Errors Items | &lt;BR /&gt; | Log Items | &lt;BR /&gt; &lt;SPAN&gt;[1, 'blah', 'blah2', 'blah3', 'blah4', 'blah5']&lt;/SPAN&gt; &lt;SPAN&gt;[2, 'blah33', 'blah44', 'blah55', 'blah66', 'blah77']&lt;/SPAN&gt; &lt;SPAN&gt;[3, 'blah111', 'blah222', 'blah333', 'blah444', 'blah555']&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Dec 2016 19:20:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617257#M48139</guid>
      <dc:creator>jaykapalczynski</dc:creator>
      <dc:date>2016-12-19T19:20:55Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617258#M48140</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Im also trying this approach...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BUT NO MATTER what I do to try and format the column widths and table widths nothing changes...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thoughts?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;##First, create the texts of the columns:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cols &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"&amp;lt;td style='width:100px'&amp;gt;{0}&amp;lt;/td&amp;gt;"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;td style='width:100px'&amp;gt;&amp;lt;/td&amp;gt;"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;t&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; t &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; your_list&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;##then use it to join the rows (tr)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;tr style='width:100px'&amp;gt;{0}&amp;lt;/tr&amp;gt;"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;tr style='width:100px'&amp;gt;\n&amp;lt;/tr&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cols&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;##finaly, inject it into the html...&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; html1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""&amp;lt;HTML&amp;gt; &amp;lt;body&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1&amp;gt;Attendance list&amp;lt;/h1&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table style="width:100%"&amp;gt;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/HTML&amp;gt;"""&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;rows&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; part4 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MIMEText&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;html1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'html'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;attach&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;part4&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:22:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617258#M48140</guid>
      <dc:creator>jaykapalczynski</dc:creator>
      <dc:date>2021-12-12T02:22:59Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617259#M48141</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ok my last post seems to stem from too many fields....I narrows down to 10 adn I was able to add Style to my table being built.&lt;/P&gt;&lt;P&gt;Were my results from your code what you were expecting?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THANKS for all your help....much appreciated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Dec 2016 19:59:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617259#M48141</guid>
      <dc:creator>jaykapalczynski</dc:creator>
      <dc:date>2016-12-19T19:59:28Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617260#M48142</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My mistake, yes I was testing with "mylist" not "mylist2".&amp;nbsp; The result I get when print hmtl:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;html&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;head&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;/&lt;/SPAN&gt;head&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;p&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;br&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Python Script Errors &amp;amp; Logging Reports&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;br&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;br&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;br&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | Log Items | &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;br&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href=&amp;gt;[1, 'blah', 'blah2', 'blah3', 'blah4', 'blah5']&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;/&lt;/SPAN&gt;a&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href=&amp;gt;[2, 'blah33', 'blah44', 'blah55', 'blah66', 'blah77']&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;/&lt;/SPAN&gt;a&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href=&amp;gt;[3, 'blah111', 'blah222', 'blah333', 'blah444', 'blah555']&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;/&lt;/SPAN&gt;a&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;br&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;br&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;/&lt;/SPAN&gt;p&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;/&lt;/SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;/&lt;/SPAN&gt;html&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:23:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617260#M48142</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2021-12-12T02:23:02Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617261#M48143</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is there a way to add the headers in there?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Dec 2016 21:05:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617261#M48143</guid>
      <dc:creator>jaykapalczynski</dc:creator>
      <dc:date>2016-12-19T21:05:46Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617262#M48144</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;Is there a way to add the headers in there?&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The headers as in the first row of your csv file?&amp;nbsp; Just make sure your list is correctly populated from the csv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-python line-numbers"&gt;&lt;CODE&gt;mylist &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Header1"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Header2"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Header3"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Header4"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Header5"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah2"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah3"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah4"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah5"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah33"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah44"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah55"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah66"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah77"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah111"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah222"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah333"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah444"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"blah555"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or do you mean attach&amp;nbsp;the&amp;nbsp;csv&amp;nbsp;file to the message?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Dec 2016 13:44:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617262#M48144</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2016-12-20T13:44:27Z</dc:date>
    </item>
    <item>
      <title>Re: write contents of CSV to body of email</title>
      <link>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617263#M48145</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK...I was able to get this working....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But my question is how can I get a bit more effective with the html formatting...Maybe a vertical table? &amp;nbsp;Any ideas on how to modify this to be a vertical table?&lt;/P&gt;&lt;P&gt;Im not sure how to target the specific fields to put in the html formatting. &amp;nbsp;Thoughts?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;DESIRED_COLUMNS = ('county','ramp','date','trailblazers','regulations','safteygsign','rutfree','potholes','grass','trash','portapotties','lighting',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'courtesypier','boatslide','fishingpier','debris','potholesramp','bulkhead','shoreline','contractor','comments','CreationDate','Creator','EditDate','Editor')

f2 = open("z_outFileRegion3.csv")
reader = csv.reader(f2)

headers2 = [1,2,3,4,8,12,16,20,24,28,32,36,41,45,49,53,57,61,65,69,74,75,76,77,78]
results2 = []
for row in reader:
&amp;nbsp;&amp;nbsp;&amp;nbsp; if not headers2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; headers2 = []
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i, col in enumerate(row):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if col in DESIRED_COLUMNS:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Store the index of the cols of interest
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; headers2.append(i)
&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results2.append(tuple([row&lt;I&gt; for i in headers2]))

#...SNIP
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cols1 = ["&amp;lt;td&amp;gt;{0}&amp;lt;/td&amp;gt;".format( "&amp;lt;td&amp;gt;&amp;lt;td/&amp;gt;".join(t)) for t in results2]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows1 = "&amp;lt;tr&amp;gt;{0}&amp;lt;/tr&amp;gt;".format( "&amp;lt;tr&amp;gt;&amp;lt;tr/&amp;gt;&amp;lt;br&amp;gt;".join(cols1))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; html1 = """&amp;lt;HTML&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h4&amp;gt;Attendance list&amp;lt;/h4&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table&amp;gt;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/HTML&amp;gt;""".format(rows1)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; part4 = MIMEText(html1, 'html')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg.attach(part4)
#...SNIP&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/CODE&gt;&lt;I&gt;&lt;/I&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:23:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/write-contents-of-csv-to-body-of-email/m-p/617263#M48145</guid>
      <dc:creator>jaykapalczynski</dc:creator>
      <dc:date>2021-12-12T02:23:05Z</dc:date>
    </item>
  </channel>
</rss>

