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() 中输入正确的参数才能达到所需的结果?
更新:
1)
email_writer = csv.writer(csvfile, quotechar=''', quoting=csv.QUOTE_NONNUMERIC,delimiter=',')
SyntaxError: EOL while scanning string literal
2) 如何放置“,”以使其看起来像输出结果?
最佳答案
按照其他人的说明更改引号字符或使用反斜杠转义。
email_writer = csv.writer(csvfile, quotechar='\'', quoting=csv.QUOTE_NONNUMERIC,delimiter=',')
我们似乎错过了您的第二个问题:
这是一个黑客,因为我似乎无法弄清楚如何使用 csv 模块来做到这一点。您可以尝试以下方式,而不是使用 csv.writer
写入文件:
for control_rent_email in control_group_renters:
csvfile.write('\'' + control_rent_email + '\'' + ',')
您也不需要显式地关闭
您正在写入的文件,因为您打开它的方式会在不再引用该文件时执行此操作。
我希望有人能够弄清楚如何以一种较少黑客的方式做到这一点,特别是使用csv.writer
。不过,这种方式将满足您的需求。
关于python - 如何使用 Python csv writer 在字符串周围添加单引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20435403/