Python新手求助:如何将句子列表每行一句保存到CSV文件?
解决方法:将句子列表保存为每行一条的CSV文件
嘿,作为刚学Python几个月、NLTK才一个月的新手,你已经能用列表推导式精准过滤出含"apple"的句子,这已经超棒了!接下来要把这个列表存成CSV文件,让每个句子单独占一行,其实有两种简单靠谱的方法,我给你详细说说:
方法一:用Python内置的csv模块(推荐)
这个方法的好处是能自动处理句子里的特殊字符(比如逗号、引号),避免CSV格式混乱。代码如下:
import csv # 假设你已经通过列表推导式得到了目标句子列表 apple_sentences = itemDict["Apple"] # 打开要写入的CSV文件,newline=''避免生成额外空行,utf-8保证字符编码正常 with open('apple_sentences.csv', 'w', newline='', encoding='utf-8') as csvfile: # 创建CSV写入对象 writer = csv.writer(csvfile) # 遍历每个句子,逐个写入单独一行 for sentence in apple_sentences: writer.writerow([sentence]) # 将句子包装成列表,确保它作为单独一列的一行被写入
运行后打开CSV文件,你会看到每个句子都单独占一行,而且像第一个带逗号的句子会被自动加上引号,完全不会出现格式错乱的问题。
方法二:直接写入文本文件(简单快速)
如果你的句子里没有复杂的特殊字符,也可以用更直白的普通文件写入方式——毕竟CSV本质就是结构化的文本文件,每行一条内容完全符合要求:
apple_sentences = itemDict["Apple"] with open('apple_sentences.csv', 'w', encoding='utf-8') as f: # 遍历句子,每个句子后加换行符写入 for sentence in apple_sentences: f.write(sentence + '\n')
这种方法上手更快,但如果句子里包含逗号、双引号这类CSV的特殊符号,可能会导致部分阅读器解析出错,所以更推荐第一种方法哦。
对了,你之前用itemDict["Apple"] = [i for i in TokenizedSentences if "apple" in i]过滤句子的写法完全没问题,继续保持这种清晰的思路就好!
内容的提问来源于stack exchange,提问作者cya2017
相关产品推荐
相关产品推荐

