csv_loader#
Bases: BaseFileLoader[ListArtifact[TextArtifact “)
Source Code in griptape/loaders/csv_loader.py
@define
class CsvLoader(BaseFileLoader[ListArtifact[TextArtifact]]):
delimiter: str = field(default=",", kw_only=True)
encoding: str = field(default="utf-8", kw_only=True)
format_row: Callable[[dict], str] = field(
default=lambda value: "\n".join(f"{key}: {val}" for key, val in value.items()), kw_only=True
)
def try_parse(self, data: bytes) -> ListArtifact[TextArtifact]:
reader = csv.DictReader(StringIO(data.decode(self.encoding)), delimiter=self.delimiter)
return ListArtifact(
[TextArtifact(self.format_row(row), meta={"row_num": row_num}) for row_num, row in enumerate(reader)]
)
delimiter = field(default=',', kw_only=True)class-attribute instance-attributeencoding = field(default='utf-8', kw_only=True)class-attribute instance-attributeformat_row = field(default=lambda value: '\n'.join(f'{key}: {val}' for (key, val) in value.items()), kw_only=True)class-attribute instance-attribute
try_parse(data)#
Source Code in griptape/loaders/csv_loader.py
def try_parse(self, data: bytes) -> ListArtifact[TextArtifact]:
reader = csv.DictReader(StringIO(data.decode(self.encoding)), delimiter=self.delimiter)
return ListArtifact(
[TextArtifact(self.format_row(row), meta={"row_num": row_num}) for row_num, row in enumerate(reader)]
)