add type to dsv_io
This commit is contained in:
parent
fe46cc7aa0
commit
12e15b869b
@ -389,6 +389,28 @@ void statistic(const std::vector<std::string> &cmd_units)
|
||||
return;
|
||||
}
|
||||
|
||||
void set_type(const std::vector<std::string> &cmd_units)
|
||||
{
|
||||
// type row|col int|float|string <name>
|
||||
if (cmd_units.size() < 4) throw std::runtime_error("type: insufficient parameters.");
|
||||
if (cmd_units[1] == "row")
|
||||
{
|
||||
if (cmd_units[2] == "int") tc.row_type(Int, cmd_units[3]);
|
||||
else if (cmd_units[2] == "float") tc.row_type(Float, cmd_units[3]);
|
||||
else if (cmd_units[2] == "string") tc.row_type(String, cmd_units[3]);
|
||||
else throw std::runtime_error("type: invalid parameters.");
|
||||
}
|
||||
else if (cmd_units[1] == "col")
|
||||
{
|
||||
if (cmd_units[2] == "int") tc.column_type(Int, cmd_units[3]);
|
||||
else if (cmd_units[2] == "float") tc.column_type(Float, cmd_units[3]);
|
||||
else if (cmd_units[2] == "string") tc.column_type(String, cmd_units[3]);
|
||||
else throw std::runtime_error("type: invalid parameters.");
|
||||
}
|
||||
else throw std::runtime_error("type: invalid parameters.");
|
||||
return;
|
||||
}
|
||||
|
||||
void set_titles(const std::vector<std::string> &cmd_units)
|
||||
{
|
||||
// title <row|col> <t1>,<t2>,<t3>,... [<id1>,<id2>,<id3>,...]
|
||||
|
@ -53,12 +53,13 @@ void save_file(const std::vector<std::string> &cmd_units);
|
||||
void statistic(const std::vector<std::string> &cmd_units);
|
||||
void set_enable(const std::vector<std::string> &cmd_units);
|
||||
void set_disable(const std::vector<std::string> &cmd_units);
|
||||
void set_type(const std::vector<std::string> &cmd_units);
|
||||
void set_titles(const std::vector<std::string> &cmd_units);
|
||||
void math_func(const std::vector<std::string> &cmd_units);
|
||||
void rand_data(const std::vector<std::string> &cmd_units);
|
||||
void filt_data(const std::vector<std::string> &cmd_units);
|
||||
|
||||
#define CMD_NUM 14
|
||||
#define CMD_NUM 15
|
||||
const cmd_pair commands[CMD_NUM] = {
|
||||
{"quit", quit, "Quit the program."},
|
||||
{"info", info, "Show the table information."},
|
||||
@ -69,6 +70,7 @@ const cmd_pair commands[CMD_NUM] = {
|
||||
{"stats", statistic, "Calculate statistics of the selected columns."},
|
||||
{"enable", set_enable, "Enable column/row outputs by name or index."},
|
||||
{"disable", set_disable, "Disable column/row outputs by name or index."},
|
||||
{"type", set_type, "Set column/row data types."},
|
||||
{"title", set_titles, "Set row and column titles."},
|
||||
{"math", math_func, "Preform mathematic operations of column data."},
|
||||
{"random", rand_data, "Generate random column data."},
|
||||
|
@ -25,6 +25,9 @@ Enable table outputs. If the input file has no row or column names, use inbuild
|
||||
#### disable column|row \<name1\> \<name2\> ...
|
||||
Disable table outputs. If the input file has no row or column names, use inbuild names `R<id>` and `C<id>` to select the rows and columns.
|
||||
|
||||
#### type row|col int|float|string \<name\>
|
||||
Set the data type of a row or column. If the input file has no row or column names, use inbuild names `R<id>` and `C<id>` to select the rows and columns.
|
||||
|
||||
#### title row|col \<t1\>,\<t2\>,\<t3\>,... [\<id1\>,\<id2\>,\<id3\>,...]
|
||||
Set row and column titles. The titles will be assigned sequentially if no index is specified.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user