擅长:python、mysql、java
<p>csv writer是一种可用于将多行<em>写入文件的设备。你应该只创建一个。告诉它使用单个引号作为引号字符,并按以下方式使用:</p>
<pre><code>with open("emails.csv", "w") as csvfile:
email_writer = csv.writer(csvfile, quotechar="'", quoting=csv.QUOTE_NONNUMERIC,delimiter=',')
for control_rent_email in control_group_renters:
email_writer.writerow([control_rent_email])
</code></pre>
<p>我希望您给出了一个简单的例子,说明您真正需要的是什么;否则,当您每行只打印一个字符串时,为什么还要麻烦您呢?如果你真的想在除最后一行之外的每行<em>后面加一个逗号,</em>你的目标不是任何类型的CSV,你应该直接构造你的输出。</p>
<p>也就是说,可以通过将空字符串传递给<code>writerow</code>来获得尾随逗号,但前提是使用<code>QUOTE_MINIMAL</code>或<code>QUOTE_NONE</code>(这将抑制电子邮件周围的无意义引号),而不是<code>QUOTE_NONNUMERIC</code>;否则将在空字符串周围获得引号。</p>
<pre><code>email_writer.writerow([control_rent_email, ""])
</code></pre>
<p>为了完整起见,下面介绍了如何在不使用最后逗号和全部内容的情况下,<em>真正地</em>生成所需的输出:</p>
<pre><code>with open("emails.txt", "w") as output:
output.write( ",\n".join("'"+r+"'" for r in control_group_renters) +"\n" )
</code></pre>