可以__repr__返回一个数据帧吗?

时间:2019-03-29 15:15:10

标签: python pandas

是否可以在下面的代码中使__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)

1 个答案:

答案 0 :(得分:1)

您希望__repr__返回一个字符串,该字符串将代表您的数据帧。因此,只需:

def __repr__(self):
        return repr(self.df)