我正在尝试编写一个函数,该函数接收字符串列表,并将列表中的每个字符串作为csv文件中的一个单独行写入,但没有得到任何输出。你能帮我理解我做错了什么吗。这是我的密码:
import sys
import os
import csv
list= ['name@domain.com', 'name@domain.com', 'name@domain.com', 'name@domain.com', 'name@domain.com', 'name@domain.com']
def write_to_csv(list_of_emails):
with open('emails.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter = ',')
writer.writerows(list_of_emails)
write_to_csv(list)
你为什么不试着用熊猫来代替呢。这非常简单。:)
lst = ['name@domain.com', 'name@domain.com', 'name@domain.com', 'name@domain.com', 'name@domain.com', 'name@domain.com']
第一,进口包装
import pandas
然后,创建数据帧
df = pandas.DataFrame(data={"email": lst})
然后,导出到csv:)
df.to_csv("./mycsv.csv", sep=',',index=False)
完成:)让我知道这个是否适合你!
如果您只是将每个字符串写在单独的行上,您可以保持简单,只需使用\n
:
lst= ['name1@domain.com', 'name2@domain.com', 'name3@domain.com']
def write_to_csv(list_of_emails):
with open('emails.csv', 'w') as csvfile:
for domain in list_of_emails:
csvfile.write(domain + '\n')
write_to_csv(lst)
哪些产出:
name1@domain.com
name2@domain.com
name3@domain.com
您也不应该使用list
作为变量名,因为它隐藏了内置函数list
。
您可以将分隔符='\n'
与csv一起使用。作家writerow
(注意,不是writerows
)。此外,newline='
不需要作为open
的参数。
import sys
import os
import csv
L = ['name1@domain.com', 'name2@domain.com', 'name3@domain.com']
def write_to_csv(list_of_emails):
with open('emails.csv', 'w') as csvfile:
writer = csv.writer(csvfile, delimiter='\n')
writer.writerow(list_of_emails)
write_to_csv(L)