python - 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)
推荐阅读
- javascript - 选择部分文本,就像我们使用 javascript 用鼠标选择一样
- javascript - 如何在 CFML [coldfusion] 中为 FORGOTTEN PASSWORD 字段提供电子邮件功能
- html - 我可以在脚本 src 属性中使用双版本键来避免浏览器缓存吗
- oracle - 如何在没有控制台的情况下在 WebLogic 服务器中更改 Stuck Thread Max Time 的值
- angular - 角度编译器和核心版本有什么区别?
- ios - 如果使用 (indexPath.item % n == 0) 显示单元格,则 UICollectionView 不会创建新单元格。它不会为数字的倍数创建新单元格
- python - python中的重复导入路径模式
- json - 如何在将 csv 文件转换为 json 格式时根据某些条件检查特定字段值
- generics - 在 kotlin 中,测试泛型类型的值是否实现接口,然后将其用作该接口的正确方法是什么?
- amazon-web-services - S3 网站可以访问 API Gateway 私有端点吗?