是否可以在下面的代码中使__repr__
返回一个数据帧?
下面的代码将抛出
TypeError: str 返回了非字符串(类型为DataFrame)
因为-我猜-__repr__
必须返回一个字符串。
还是应该用其他魔术方法代替__repr__
?
import pandas as pd
class Query():
def __init__(self, filename):
self.df = pd.read_excel(filename)
def __repr__(self):
return self.df
if __name__ == '__main__':
filename = 'some_filename'
query = Query(filename)
print(query)
答案 0 :(得分:1)
您希望__repr__
返回一个字符串,该字符串将代表您的数据帧。因此,只需:
def __repr__(self):
return repr(self.df)