CleanTable type design

CleanTable is the type where all Cleaner.jl functions operate. For example, when you call polish_names(table) internally a CleanTable (ct) with copied columns based in the table passed is being created and polish_names!(ct) is called to return the desired result.

By default the constructor that builds a CleanTable from a table copies the columns but this behavior can be bypassed by passing the argument copycols=false e.g. CleanTable(table; copycols=false).

It is only possible to change column names from a CleanTable directly, adding/removing rows or columns without using Cleaner.jl functions is not supported and heavily discouraged. Please use other packages that support the Tables.jl interface such as DataFrames.jl for those needs.

Type specification

CleanTable <: Tables.AbstractColumns

A Tables.jl implementation that stores column names and columns for Cleaner.jl internal use.

The default behavior of this type is to try to copy the columns of the original Tables implementation a.k.a: the source, but the user can call the second constructor specifiying copycols=false to override this behavior and try to use the original columns directly. If the source column type is not mutable, it might end up in errors.


CleanTable(names::Vector{Symbol}, cols; copycols::Bool=false)
CleanTable(table; copycols::Bool=true)
CleanTable(table::CleanTable; copycols::Bool=true)