CSV.writer 每个条目都设置在新行上



环境: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()

writer.writerows()传递了一个包含单个元素的列表,因此它写入了一行。

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

writer.writerows([value] for value in test_set)

但是,您在这里并没有真正生成 CSV。使用单个列,您也可以将设置的内容直接写入中间带有换行符的文件。print()功能可用于此任务:

with open('output.csv', 'w') as f:
print(*test_set, sep='n', file=f)

最新更新