Python中如何将列表作为单行追加写入CSV文件
问题原因
- 你导入了
csv模块但没有实际调用其提供的写入方法,普通文件对象不存在writerows属性 writerows是用于批量写入多行数据的方法,写入单行需要用writerow- 不要用
list作为变量名,这是Python内置类的关键字,会覆盖原有功能 - 直接给文件对象写入列表会报错,必须通过csv模块封装的写入器处理数据转义、分隔符等逻辑
可行代码
import csv list_one = ['apple','ball','cat','dog'] # 追加模式打开文件,指定newline=''避免Windows下出现多余空行 with open('document.csv','a', newline='', encoding='utf-8') as fd: # 创建csv写入器 csv_writer = csv.writer(fd) # 写入单行,直接传入整个列表即可 csv_writer.writerow(list_one)
代码说明
- 打开文件时添加
newline=''参数是csv模块的官方推荐写法,可以规避不同操作系统下出现多余空行的问题 - 追加
encoding='utf-8'可以避免写入特殊字符时出现乱码 - 如果需要写入多行,可以把多个列表放到一个大列表里,调用
csv_writer.writerows(大列表)即可
内容的提问来源于stack exchange,提问作者Rishabh Sahni
相关产品推荐
相关产品推荐

