mirror of
https://github.com/nushell/nushell
synced 2024-12-27 21:43:09 +00:00
Dataframe commands name (#457)
* corrected missing shellerror type * batch dataframe commands * removed option to find declaration with input * ordered dataframe folders * dataframe command name
This commit is contained in:
parent
7319b6b168
commit
865906e450
11 changed files with 64 additions and 22 deletions
|
@ -12,7 +12,7 @@ pub struct AppendDF;
|
||||||
|
|
||||||
impl Command for AppendDF {
|
impl Command for AppendDF {
|
||||||
fn name(&self) -> &str {
|
fn name(&self) -> &str {
|
||||||
"append-df"
|
"dataframe append"
|
||||||
}
|
}
|
||||||
|
|
||||||
fn usage(&self) -> &str {
|
fn usage(&self) -> &str {
|
||||||
|
@ -30,8 +30,8 @@ impl Command for AppendDF {
|
||||||
vec![
|
vec![
|
||||||
Example {
|
Example {
|
||||||
description: "Appends a dataframe as new columns",
|
description: "Appends a dataframe as new columns",
|
||||||
example: r#"let a = ([[a b]; [1 2] [3 4]] | to df);
|
example: r#"let a = ([[a b]; [1 2] [3 4]] | dataframe to-df);
|
||||||
$a | append-df $a"#,
|
$a | dataframe append $a"#,
|
||||||
result: Some(
|
result: Some(
|
||||||
NuDataFrame::try_from_columns(vec![
|
NuDataFrame::try_from_columns(vec![
|
||||||
Column::new("a".to_string(), vec![1.into(), 3.into()]),
|
Column::new("a".to_string(), vec![1.into(), 3.into()]),
|
||||||
|
@ -46,8 +46,8 @@ $a | append-df $a"#,
|
||||||
Example {
|
Example {
|
||||||
description: "Appends a dataframe merging at the end of columns",
|
description: "Appends a dataframe merging at the end of columns",
|
||||||
//example: r#"let a = ([[a b]; [1 2] [3 4]] | to df); $a | append-df $a -col"#,
|
//example: r#"let a = ([[a b]; [1 2] [3 4]] | to df); $a | append-df $a -col"#,
|
||||||
example: r#"let a = ([[a b]; [1 2] [3 4]] | to df);
|
example: r#"let a = ([[a b]; [1 2] [3 4]] | dataframe to-df);
|
||||||
$a | append-df $a --col"#,
|
$a | dataframe append $a --col"#,
|
||||||
result: Some(
|
result: Some(
|
||||||
NuDataFrame::try_from_columns(vec![
|
NuDataFrame::try_from_columns(vec![
|
||||||
Column::new(
|
Column::new(
|
||||||
|
|
|
@ -12,7 +12,7 @@ pub struct ColumnDF;
|
||||||
|
|
||||||
impl Command for ColumnDF {
|
impl Command for ColumnDF {
|
||||||
fn name(&self) -> &str {
|
fn name(&self) -> &str {
|
||||||
"column"
|
"dataframe column"
|
||||||
}
|
}
|
||||||
|
|
||||||
fn usage(&self) -> &str {
|
fn usage(&self) -> &str {
|
||||||
|
@ -28,7 +28,7 @@ impl Command for ColumnDF {
|
||||||
fn examples(&self) -> Vec<Example> {
|
fn examples(&self) -> Vec<Example> {
|
||||||
vec![Example {
|
vec![Example {
|
||||||
description: "Returns the selected column as series",
|
description: "Returns the selected column as series",
|
||||||
example: "[[a b]; [1 2] [3 4]] | to df | column a",
|
example: "[[a b]; [1 2] [3 4]] | dataframe to-df | dataframe column a",
|
||||||
result: Some(
|
result: Some(
|
||||||
NuDataFrame::try_from_columns(vec![Column::new(
|
NuDataFrame::try_from_columns(vec![Column::new(
|
||||||
"a".to_string(),
|
"a".to_string(),
|
||||||
|
|
37
crates/nu-command/src/dataframe/command.rs
Normal file
37
crates/nu-command/src/dataframe/command.rs
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
use nu_engine::get_full_help;
|
||||||
|
use nu_protocol::{
|
||||||
|
ast::Call,
|
||||||
|
engine::{Command, EngineState, Stack},
|
||||||
|
Category, IntoPipelineData, PipelineData, ShellError, Signature, Value,
|
||||||
|
};
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
|
pub struct Dataframe;
|
||||||
|
|
||||||
|
impl Command for Dataframe {
|
||||||
|
fn name(&self) -> &str {
|
||||||
|
"dataframe"
|
||||||
|
}
|
||||||
|
|
||||||
|
fn usage(&self) -> &str {
|
||||||
|
"Dataframe commands"
|
||||||
|
}
|
||||||
|
|
||||||
|
fn signature(&self) -> Signature {
|
||||||
|
Signature::build(self.name()).category(Category::Custom("dataframe".into()))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn run(
|
||||||
|
&self,
|
||||||
|
engine_state: &EngineState,
|
||||||
|
_stack: &mut Stack,
|
||||||
|
call: &Call,
|
||||||
|
_input: PipelineData,
|
||||||
|
) -> Result<PipelineData, ShellError> {
|
||||||
|
Ok(Value::String {
|
||||||
|
val: get_full_help(&Dataframe.signature(), &Dataframe.examples(), engine_state),
|
||||||
|
span: call.head,
|
||||||
|
}
|
||||||
|
.into_pipeline_data())
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,7 +17,7 @@ pub struct DescribeDF;
|
||||||
|
|
||||||
impl Command for DescribeDF {
|
impl Command for DescribeDF {
|
||||||
fn name(&self) -> &str {
|
fn name(&self) -> &str {
|
||||||
"describe-df"
|
"dataframe describe"
|
||||||
}
|
}
|
||||||
|
|
||||||
fn usage(&self) -> &str {
|
fn usage(&self) -> &str {
|
||||||
|
@ -31,7 +31,7 @@ impl Command for DescribeDF {
|
||||||
fn examples(&self) -> Vec<Example> {
|
fn examples(&self) -> Vec<Example> {
|
||||||
vec![Example {
|
vec![Example {
|
||||||
description: "dataframe description",
|
description: "dataframe description",
|
||||||
example: "[[a b]; [1 1] [1 1]] | to df | describe-df",
|
example: "[[a b]; [1 1] [1 1]] | dataframe to-df | dataframe describe",
|
||||||
result: Some(
|
result: Some(
|
||||||
NuDataFrame::try_from_columns(vec![
|
NuDataFrame::try_from_columns(vec![
|
||||||
Column::new(
|
Column::new(
|
||||||
|
|
|
@ -13,7 +13,7 @@ pub struct DropDF;
|
||||||
|
|
||||||
impl Command for DropDF {
|
impl Command for DropDF {
|
||||||
fn name(&self) -> &str {
|
fn name(&self) -> &str {
|
||||||
"drop-df"
|
"dataframe drop"
|
||||||
}
|
}
|
||||||
|
|
||||||
fn usage(&self) -> &str {
|
fn usage(&self) -> &str {
|
||||||
|
@ -29,7 +29,7 @@ impl Command for DropDF {
|
||||||
fn examples(&self) -> Vec<Example> {
|
fn examples(&self) -> Vec<Example> {
|
||||||
vec![Example {
|
vec![Example {
|
||||||
description: "drop column a",
|
description: "drop column a",
|
||||||
example: "[[a b]; [1 2] [3 4]] | to df | drop-df a",
|
example: "[[a b]; [1 2] [3 4]] | dataframe to-df | dataframe drop a",
|
||||||
result: Some(
|
result: Some(
|
||||||
NuDataFrame::try_from_columns(vec![Column::new(
|
NuDataFrame::try_from_columns(vec![Column::new(
|
||||||
"b".to_string(),
|
"b".to_string(),
|
||||||
|
|
|
@ -10,7 +10,7 @@ pub struct DataTypes;
|
||||||
|
|
||||||
impl Command for DataTypes {
|
impl Command for DataTypes {
|
||||||
fn name(&self) -> &str {
|
fn name(&self) -> &str {
|
||||||
"dtypes"
|
"dataframe dtypes"
|
||||||
}
|
}
|
||||||
|
|
||||||
fn usage(&self) -> &str {
|
fn usage(&self) -> &str {
|
||||||
|
@ -24,7 +24,7 @@ impl Command for DataTypes {
|
||||||
fn examples(&self) -> Vec<Example> {
|
fn examples(&self) -> Vec<Example> {
|
||||||
vec![Example {
|
vec![Example {
|
||||||
description: "Dataframe dtypes",
|
description: "Dataframe dtypes",
|
||||||
example: "[[a b]; [1 2] [3 4]] | to df | dtypes",
|
example: "[[a b]; [1 2] [3 4]] | dataframe to-df | dataframe dtypes",
|
||||||
result: Some(
|
result: Some(
|
||||||
NuDataFrame::try_from_columns(vec![
|
NuDataFrame::try_from_columns(vec![
|
||||||
Column::new(
|
Column::new(
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
|
mod series;
|
||||||
mod values;
|
mod values;
|
||||||
|
|
||||||
mod append;
|
mod append;
|
||||||
mod column;
|
mod column;
|
||||||
|
mod command;
|
||||||
mod describe;
|
mod describe;
|
||||||
mod drop;
|
mod drop;
|
||||||
mod dtypes;
|
mod dtypes;
|
||||||
|
@ -10,6 +12,7 @@ mod to_df;
|
||||||
|
|
||||||
pub use append::AppendDF;
|
pub use append::AppendDF;
|
||||||
pub use column::ColumnDF;
|
pub use column::ColumnDF;
|
||||||
|
pub use command::Dataframe;
|
||||||
pub use describe::DescribeDF;
|
pub use describe::DescribeDF;
|
||||||
pub use drop::DropDF;
|
pub use drop::DropDF;
|
||||||
pub use dtypes::DataTypes;
|
pub use dtypes::DataTypes;
|
||||||
|
@ -31,6 +34,7 @@ pub fn add_dataframe_decls(working_set: &mut StateWorkingSet) {
|
||||||
bind_command!(
|
bind_command!(
|
||||||
AppendDF,
|
AppendDF,
|
||||||
ColumnDF,
|
ColumnDF,
|
||||||
|
Dataframe,
|
||||||
DataTypes,
|
DataTypes,
|
||||||
DescribeDF,
|
DescribeDF,
|
||||||
DropDF,
|
DropDF,
|
||||||
|
|
|
@ -14,7 +14,7 @@ pub struct OpenDataFrame;
|
||||||
|
|
||||||
impl Command for OpenDataFrame {
|
impl Command for OpenDataFrame {
|
||||||
fn name(&self) -> &str {
|
fn name(&self) -> &str {
|
||||||
"open-df"
|
"dataframe open"
|
||||||
}
|
}
|
||||||
|
|
||||||
fn usage(&self) -> &str {
|
fn usage(&self) -> &str {
|
||||||
|
@ -63,7 +63,7 @@ impl Command for OpenDataFrame {
|
||||||
fn examples(&self) -> Vec<Example> {
|
fn examples(&self) -> Vec<Example> {
|
||||||
vec![Example {
|
vec![Example {
|
||||||
description: "Takes a file name and creates a dataframe",
|
description: "Takes a file name and creates a dataframe",
|
||||||
example: "open-df test.csv",
|
example: "dataframe open test.csv",
|
||||||
result: None,
|
result: None,
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
|
|
1
crates/nu-command/src/dataframe/series/mod.rs
Normal file
1
crates/nu-command/src/dataframe/series/mod.rs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
|
|
@ -11,7 +11,7 @@ pub struct ToDataFrame;
|
||||||
|
|
||||||
impl Command for ToDataFrame {
|
impl Command for ToDataFrame {
|
||||||
fn name(&self) -> &str {
|
fn name(&self) -> &str {
|
||||||
"to df"
|
"dataframe to-df"
|
||||||
}
|
}
|
||||||
|
|
||||||
fn usage(&self) -> &str {
|
fn usage(&self) -> &str {
|
||||||
|
@ -26,7 +26,7 @@ impl Command for ToDataFrame {
|
||||||
vec![
|
vec![
|
||||||
Example {
|
Example {
|
||||||
description: "Takes a dictionary and creates a dataframe",
|
description: "Takes a dictionary and creates a dataframe",
|
||||||
example: "[[a b];[1 2] [3 4]] | to df",
|
example: "[[a b];[1 2] [3 4]] | dataframe to-df",
|
||||||
result: Some(
|
result: Some(
|
||||||
NuDataFrame::try_from_columns(vec![
|
NuDataFrame::try_from_columns(vec![
|
||||||
Column::new("a".to_string(), vec![1.into(), 3.into()]),
|
Column::new("a".to_string(), vec![1.into(), 3.into()]),
|
||||||
|
@ -38,7 +38,7 @@ impl Command for ToDataFrame {
|
||||||
},
|
},
|
||||||
Example {
|
Example {
|
||||||
description: "Takes a list of tables and creates a dataframe",
|
description: "Takes a list of tables and creates a dataframe",
|
||||||
example: "[[1 2 a] [3 4 b] [5 6 c]] | to df",
|
example: "[[1 2 a] [3 4 b] [5 6 c]] | dataframe to-df",
|
||||||
result: Some(
|
result: Some(
|
||||||
NuDataFrame::try_from_columns(vec![
|
NuDataFrame::try_from_columns(vec![
|
||||||
Column::new("0".to_string(), vec![1.into(), 3.into(), 5.into()]),
|
Column::new("0".to_string(), vec![1.into(), 3.into(), 5.into()]),
|
||||||
|
@ -58,7 +58,7 @@ impl Command for ToDataFrame {
|
||||||
},
|
},
|
||||||
Example {
|
Example {
|
||||||
description: "Takes a list and creates a dataframe",
|
description: "Takes a list and creates a dataframe",
|
||||||
example: "[a b c] | to df",
|
example: "[a b c] | dataframe to-df",
|
||||||
result: Some(
|
result: Some(
|
||||||
NuDataFrame::try_from_columns(vec![Column::new(
|
NuDataFrame::try_from_columns(vec![Column::new(
|
||||||
"0".to_string(),
|
"0".to_string(),
|
||||||
|
@ -74,7 +74,7 @@ impl Command for ToDataFrame {
|
||||||
},
|
},
|
||||||
Example {
|
Example {
|
||||||
description: "Takes a list of booleans and creates a dataframe",
|
description: "Takes a list of booleans and creates a dataframe",
|
||||||
example: "[$true $true $false] | to df",
|
example: "[$true $true $false] | dataframe to-df",
|
||||||
result: Some(
|
result: Some(
|
||||||
NuDataFrame::try_from_columns(vec![Column::new(
|
NuDataFrame::try_from_columns(vec![Column::new(
|
||||||
"0".to_string(),
|
"0".to_string(),
|
||||||
|
|
|
@ -273,7 +273,7 @@ fn get_flags_section(signature: &Signature) -> String {
|
||||||
if let Some(short) = flag.short {
|
if let Some(short) = flag.short {
|
||||||
if flag.required {
|
if flag.required {
|
||||||
format!(
|
format!(
|
||||||
" -{}{} (required parameter){:?} {}\n",
|
" -{}{} (required parameter) {:?} {}\n",
|
||||||
short,
|
short,
|
||||||
if !flag.long.is_empty() {
|
if !flag.long.is_empty() {
|
||||||
format!(", --{}", flag.long)
|
format!(", --{}", flag.long)
|
||||||
|
@ -298,7 +298,7 @@ fn get_flags_section(signature: &Signature) -> String {
|
||||||
}
|
}
|
||||||
} else if flag.required {
|
} else if flag.required {
|
||||||
format!(
|
format!(
|
||||||
" --{} (required parameter){:?} {}\n",
|
" --{} (required parameter) {:?} {}\n",
|
||||||
flag.long, arg, flag.desc
|
flag.long, arg, flag.desc
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue