误将pd.read_csv赋值为字符串报错,如何在当前Notebook修复?
解决
'str' object is not callable问题(修复被覆盖的pd.read_csv函数) 问题原因
你的错误代码variable=pd.read_csv=("filename.csv")触发了链式赋值,把pd.read_csv这个原本的函数对象直接覆盖成了字符串"filename.csv",后续调用pd.read_csv()时,实际是在调用一个字符串,因此会抛出'str' object is not callable的错误。
修复方法(当前Notebook内直接修复,无需重启)
有两种简单方式可以恢复pd.read_csv的功能:
方法1:重新加载pandas模块
通过importlib.reload重新加载pandas模块,重置模块内的所有对象:
import importlib import pandas as pd # 重新加载pandas,恢复原函数 importlib.reload(pd)
方法2:直接恢复pd.read_csv函数
从pandas的核心模块中重新获取read_csv函数,赋值回pd.read_csv:
from pandas.io.parsers import read_csv # 将原函数重新绑定到pd.read_csv pd.read_csv = read_csv
修复完成后,执行variable = pd.read_csv("filename.csv")即可正常运行。
内容的提问来源于stack exchange,提问作者user23148198
相关产品推荐
相关产品推荐

