Python写入字符串到CSV时出现字符串被逗号拆分的问题
问题解决:字符串写入CSV被逗号拆分
问题原因
csv.writer的writerow()方法要求传入可迭代的行数据(比如列表、元组)。当直接传入单个字符串时,Python会将字符串视为字符的可迭代对象,每个字符被当作独立列,最终导致数字被逗号拆分。
解决方法
把每个字符串元素包装成单元素列表(或元组)后传入writerow(),CSV写入器就会将整个字符串作为一列内容。
修改后的完整代码:
import csv duplicity = ['8110278643', '8110278830', '8110283186'] with open("duplicty.csv", "w", newline="") as duplicity_csv: output_writer = csv.writer(duplicity_csv) header = ["Number"] output_writer.writerow(header) for item in duplicity: output_writer.writerow([item])
输出验证
运行上述代码后,生成的CSV内容与期望一致:
Number 8110278643 8110278830 8110283186
额外优化
如果想一次性写入所有数据行,可使用writerows()方法,通过列表推导式批量处理元素:
output_writer.writerows([[item] for item in duplicity])
内容的提问来源于stack exchange,提问作者Samurajx
相关产品推荐
相关产品推荐

