csvlint.rb icon indicating copy to clipboard operation
csvlint.rb copied to clipboard

Support skipBlankRows from W3C Tabular Metadata

Open felixwatts opened this issue 4 years ago • 0 comments

skipBlankRows is a boolean property of a W3C Tabular Metadata Dialect. When true, blank rows within the CSV file are valid.

I can see that internally the CsvOptions has a :skip_blanks property, but it cannot be set and also its value is ignored.

As it's part of W3C Tabular metadata it would be nice to support this when basing the schema on that, like

{
	"@context": "http://www.w3.org/ns/csvw",
	"url": "http://example.com/example1.csv",
	"tableSchema": {
                "dialect": {
                    "skipBlankRows": true
                },
		"columns": [
		]
	}
}

...

schema = Csvlint::Schema.load_from_json(uri)
validator = Csvlint::Validator.new( "http://example.org/data.csv", nil, schema )

Also, although its not part of CSVDDF, it would be nice to support an equivalent setting when building the dialect directly, like:

dialect = {
    'skip_blank_rows': true
}
validator = Csvlint::Validator.new(@csv, dialect, schema)

felixwatts avatar Dec 14 '21 13:12 felixwatts