Jupyter Notebook中CSV转列表报错:'list'对象不可调用
解决'list' object is not callable错误
错误原因
这个错误的核心是你把内置函数list当成了变量名使用。比如之前的代码里如果写过list = [1,2,3]这类语句,list就从原本的列表构造函数变成了一个普通列表对象,后续再调用list(khali)时,自然会报错——列表对象是不能被调用的。
修复步骤
- 全局检查所有代码,找到用
list作为变量名的地方,改成其他合法名称(比如my_list、csv_data_list) - 改用
with语句处理文件操作,无需手动关闭文件,更安全简洁
修正后的完整代码
import csv # 写入CSV文件 with open('to_save.csv', mode='w', newline='', encoding='utf-8') as file_to_output: csv_writer = csv.writer(file_to_output, delimiter=',') csv_writer.writerows([['6','8','7'],['3','1','2']]) # 读取CSV并转换为列表 with open('to_save.csv', encoding='utf-8') as datu: khali = csv.reader(datu) new_csv = list(khali) # 验证结果 print(new_csv)
额外说明
with语句会在代码块结束后自动关闭文件,避免手动调用close()可能遗漏的资源泄漏问题- 你原始代码里重复定义了
csv_writer = csv.writer(...),这行可以删掉一次,不影响功能但没必要重复
内容的提问来源于stack exchange,提问作者khali-blinks
相关产品推荐
相关产品推荐

