diff --git a/src/caosadvancedtools/table_importer.py b/src/caosadvancedtools/table_importer.py index f7f7efb43d226f1688124572ff4847444fcbd610..7b4414b7bc24e93e5035bb9159b5709351360313 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