Каков наилучший способ отправить список аргументов функции в классе в Python? - PullRequest
1 голос
/ 20 февраля 2020

У меня есть класс под названием Dataset. Теперь в этом наборе данных есть функция, которая была определена для чтения CSV. Теперь некоторые из этих файлов поставляются с разными кодировками и разделителями и т. Д. c. Поэтому мне нужно передать путь к файлу, кодировки и разделитель для этой функции. Каков наилучший способ сделать это? В будущем может понадобиться еще несколько таких аргументов.

class Dataset:
     def __init__(self,path):
        self.__fielpath=path
        .......
     def read(self):
        data=pd.read_csv(self.__filepath)

Для pd.read_csv() необходимо отправить аргументы, каков наилучший способ сделать это?

1 Ответ

1 голос
/ 20 февраля 2020

Используйте **kwargs для передачи ключевых аргументов внутри функции

class Dataset:
     def __init__(self,path):
        self.__fielpath=path
        .......
     def read(self, **kwargs):
        data=pd.read_csv(self.__filepath, **kwargs)


d = Dataset(path="some_path")
data = d.read(columns=["a","b","c"], skiprows=3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...