python - 读取文件内容的类

标签 python pandas

我想编写读取 *.csv 文件并使用 pandas 库解析它的类。我想知道应该在哪里初始化 df.

#!/usr/bin/env python
import pandas as pd
import os

class ParseDataBase(object):
        def __init__(self, name_file):
                self.name_file = name_file

        def read_file(self):
                """Read the file concent"""

                try:
                        self.df = pd.read_csv(self.name_file)
                except IndexError:
                        print ("Error: Wrong file name")
                        sys.exit(2)
                return self.df

        def dispaly_file(self):
                print self.df

def main():
        x = ParseDataBase('something.csv')
        x.dispaly_file()

if __name__ == '__main__':
        main()

上述代码返回以下错误:“ParseDataBase”对象没有属性“df”

我不想在创建对象时传递很多变量。

我是面向对象编程的新手,因此非常感谢任何评论和提示!

最佳答案

除非您运行 read_file(),否则您不会分配 self.df,但事实并非如此。

def main():
    x = ParseDataBase('something.csv')
    x.read_file()     
    x.dispaly_file()

关于python - 读取文件内容的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38859426/

相关文章:

python - 使用图形 View 小部件显示图像

python - Pandas python 父子层次结构获取父级

python - 如何根据条件替换 pandas 数据框中的值?

python - 逆时针而不是顺时针取消堆叠 MultiIndex pandas DataFrame

python - 如何向条形图添加多个注释

python - 使用 pandas.DataFrame 进行概率张量乘法

python - 从不同的函数访问时字典返回不同的值

python - 这个比较是什么意思?

python - 如何在命令提示符下执行/调用 .py 文件?

python - Flask-sqlalchemy 不会将表名转换为小写(mysql)