首页 > 解决方案 > 将类中的设置移交给 pd.read_csv() 函数

问题描述

嗨,我对 python 很陌生。我开发了以下课程:

import pandas as pd
import os

class Class1:


    def __init__(self, path, cols = None, settings = {"sep" : ";", "encoding" : "unicode_escape", "header" : "infer", "decimal" :"."
    , "skiprows" : None,  "names" : None,  "skipfooter" : 0, "engine" : "python"}  ):

        self.raw = self._load_raw(path = path, s = settings, cols = cols)
        

    def _load_raw(self, path, s, cols = None):

        df = pd.read_csv(path, sep = s["sep"], encoding = s["encoding"], decimal = s["decimal"], skiprows = s["skiprows"], skipfooter = s["skipfooter"]
        ,  engine = s["engine"], header = s["header"], names = s["names"], usecols = cols)
        
        return df

类内部是一个函数,它将 csv 文件读入 pd.DataFrame。我想知道是否有一种开发类的智能方法,而无需交出这样的设置字典,以便稍后在创建对象时读取数据框。让我们假设 csv 文件更简单,只需要 1 个参数,例如“sep”而不是所有其他参数,但是该类还需要能够读取需要更多参数的 csv 文件。有没有一种pythonic的方式来交出所需要的数量?

例如,1 个对象只需要“sep”,而另一个对象需要 pd.read_csv 文档中定义的所有设置参数,但它们都可以使用同一个类创建

标签: pythonpandasclassargumentskeyword-argument

解决方案


推荐阅读