From 5282684639aa3625ecf1a878410790aaa38625a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <henrik@trineo.org> Date: Mon, 8 Nov 2021 17:39:30 +0100 Subject: [PATCH] MAINT: handle value errors also for tsv and csv --- src/caosadvancedtools/table_importer.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/caosadvancedtools/table_importer.py b/src/caosadvancedtools/table_importer.py index f7f7efb4..7b4414b7 100755 --- a/src/caosadvancedtools/table_importer.py +++ b/src/caosadvancedtools/table_importer.py @@ -406,8 +406,16 @@ class XLSImporter(TableImporter): class CSVImporter(TableImporter): def read_file(self, filename, sep=",", **kwargs): - df = pd.read_csv(filename, sep=sep, converters=self.converters, - **kwargs) + try: + df = pd.read_csv(filename, sep=sep, converters=self.converters, + **kwargs) + except ValueError as ve: + logger.warning( + "Cannot parse {}.".format(filename), + extra={'identifier': str(filename), + 'category': "inconsistency"}) + raise DataInconsistencyError(*ve.args) + self.check_dataframe(df, filename) return df @@ -415,8 +423,16 @@ class CSVImporter(TableImporter): class TSVImporter(TableImporter): def read_file(self, filename, **kwargs): - df = pd.read_csv(filename, sep="\t", converters=self.converters, - **kwargs) + try: + df = pd.read_csv(filename, sep="\t", converters=self.converters, + **kwargs) + except ValueError as ve: + logger.warning( + "Cannot parse {}.".format(filename), + extra={'identifier': str(filename), + 'category': "inconsistency"}) + raise DataInconsistencyError(*ve.args) + self.check_dataframe(df, filename) return df -- GitLab