如何修改Python代码让CSV输出内容以空格分隔而非逗号
问题:如何修改Python代码让CSV输出用空格分隔而非逗号?
你现在有一个列表 ['tomorrow', 'space', 'Film'],用这段代码写入CSV后:
import csv list_noun = ['tomorrow', 'space', 'Film'] with open("Noun.csv", 'wb') as n: noun = csv.writer(n) noun.writerow(list_noun)
得到的内容是 tomorrow,space,Film,但你期望输出是用空格分隔的 tomorrow space Film,对吧?
解决方案1:修改CSV Writer的分隔符
CSV格式默认用逗号作为字段分隔符,我们只需要在创建csv.writer对象时指定delimiter=' '参数,就能替换成空格:
import csv list_noun = ['tomorrow', 'space', 'Film'] # Python 3推荐用'w'模式,加上newline=''避免Windows下出现多余空行 with open("Noun.csv", 'w', newline='') as n: noun = csv.writer(n, delimiter=' ') noun.writerow(list_noun)
这样写入后的文件内容就会是你想要的空格分隔形式,同时依然符合CSV的规范(只是分隔符换成了空格)。
解决方案2:直接写入纯空格分隔的文本(非CSV)
如果你的需求只是生成一个空格分隔的文本文件,不需要严格遵循CSV格式,也可以不用csv模块,直接用字符串拼接的方式写入:
list_noun = ['tomorrow', 'space', 'Film'] with open("Noun.txt", 'w') as f: f.write(' '.join(list_noun))
这种方式更直接,直接把列表元素用空格拼接成完整字符串写入文件,结果就是tomorrow space Film。
内容的提问来源于stack exchange,提问作者Fachrul Rozy Saputra R
相关产品推荐
相关产品推荐

