CSV.writer在新行中的每个设置条目

Sea*_*ean 0 python csv python-3.x

环境: Windows上的Python 3.7
目标:将一个设置写到.csv文件中,每个设置条目都在新行上。
问题:每个设置条目都不在新行上...当我在Excel中打开CSV文件时,每个设置条目都位于单独的列中,而不是单独的行中。
问题:我需要做什么才能使每个设置条目都写在新行上?

import csv
test_set = {'http://www.apple.com', 'http://www.amazon.com', 'http://www.microsoft.com', 'https://www.ibm.com'}
with open('output.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerows([test_set])
    f.close()
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

您传递writer.writerows()了带有单个元素的列表,因此它只写了一行。

您需要将集合转换为一系列行;每行一个包含行内容的列表。您可以使用生成器表达式生成行:

writer.writerows([value] for value in test_set)
Run Code Online (Sandbox Code Playgroud)

但是,您实际上并不是在这里生成CSV。只用一列,您也可以将设置内容直接写到文件中,中间使用换行符。print()可以为该任务选择该功能:

with open('output.csv', 'w') as f:
    print(*test_set, sep='\n', file=f)
Run Code Online (Sandbox Code Playgroud)