def find(self, **kwargs):
        """
        Finds row matching specific field value

        Args:
            **kwargs: (**only one argument accepted**) fielname=value, e.g., formula="OH"

        Returns: list element or None
        """

        if len(kwargs) != 1:
            raise ValueError("One and only one keyword argument accepted")

        key = list(kwargs.keys())[0]
        value = list(kwargs.values())[0]
        ret = None
        for row in self.values():
            if row[key] == value:
                ret = row
                break
        return ret
Finds row matching specific field value

        Args:
            **kwargs: (**only one argument accepted**) fielname=value, e.g., formula="OH"

        Returns: list element or None