with open("emails.csv", "w") as csvfile:
for control_rent_email in control_group_renters:
email_writer = csv.writer(csvfile, quotechar='"', quoting=csv.QUOTE_NONNUMERIC,delimiter=',')
email_writer.writerow([control_rent_email])
csvfile.close()
我在“emails.csv”中得到以下输出:
"susan@gmail.com"
"joe@gmail.com"
"sara@yahoo.com"
但我希望输出
'susan@gmail.com',
'joe@gmail.com',
'sara@yahoo.com'
如何将正确的参数放入csv.writer()中以获得所需的结果?
更新:
(一)
email_writer = csv.writer(csvfile, quotechar=''', quoting=csv.QUOTE_NONNUMERIC,delimiter=',')
SyntaxError: EOL while scanning string literal
2)如何放置“,”以使其看起来像输出结果?
csv writer是一种可用于将多行写入文件的设备。你应该只创建一个。告诉它使用单个引号作为引号字符,并按以下方式使用:
我希望您给出了一个简单的例子,说明您真正需要的是什么;否则,当您每行只打印一个字符串时,为什么还要麻烦您呢?如果你真的想在除最后一行之外的每行后面加一个逗号,你的目标不是任何类型的CSV,你应该直接构造你的输出。
也就是说,可以通过将空字符串传递给
writerow
来获得尾随逗号,但前提是使用QUOTE_MINIMAL
或QUOTE_NONE
(这将抑制电子邮件周围的无意义引号),而不是QUOTE_NONNUMERIC
;否则将在空字符串周围获得引号。为了完整起见,下面介绍了如何在不使用最后逗号和全部内容的情况下,真正地生成所需的输出:
更改其他人指出的引号字符或使用反斜杠转义。
我们好像错过了你的第二个问题:
这是一个黑客因为我似乎不知道如何使用csv模块来实现这一点。不要使用
csv.writer
来编写文件,您可以这样尝试:您也不需要显式地
close
将要写入的文件作为在不再被引用时打开它的方式。我希望有人能用一种更简单的方式来解决这个问题,特别是使用
csv.writer
。不过,这样可以满足你的需要。看来是你的报价。尝试:
相关问题 更多 >
编程相关推荐