Read csv from stdin too
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
parent
e29b3d18e8
commit
e4e9b71674
14
src/main.rs
14
src/main.rs
|
@ -11,6 +11,11 @@ fn main() {
|
||||||
.about("Read csv, output arrow stream")
|
.about("Read csv, output arrow stream")
|
||||||
.arg(arg!([path] "Path to CSV file"))
|
.arg(arg!([path] "Path to CSV file"))
|
||||||
.arg(arg!(-d --delimiter <String> "Column delimiter. Assume ,").required(false))
|
.arg(arg!(-d --delimiter <String> "Column delimiter. Assume ,").required(false))
|
||||||
|
.arg(
|
||||||
|
arg!(-i --stdin ... "Read from stdin")
|
||||||
|
.required(false)
|
||||||
|
.action(ArgAction::SetTrue),
|
||||||
|
)
|
||||||
.arg(arg!(-q --query <String> "Execute query on the file").required(false))
|
.arg(arg!(-q --query <String> "Execute query on the file").required(false))
|
||||||
.arg(
|
.arg(
|
||||||
arg!(-s --summary ... "Summarize the data")
|
arg!(-s --summary ... "Summarize the data")
|
||||||
|
@ -97,7 +102,7 @@ fn main() {
|
||||||
Command::new("wpq")
|
Command::new("wpq")
|
||||||
.about("Write to a paquet file")
|
.about("Write to a paquet file")
|
||||||
.arg(
|
.arg(
|
||||||
arg!(-t --text ... "Output text instead of binary")
|
arg!(-t --text ... "Input text instead of binary")
|
||||||
.required(false)
|
.required(false)
|
||||||
.action(ArgAction::SetTrue),
|
.action(ArgAction::SetTrue),
|
||||||
)
|
)
|
||||||
|
@ -106,7 +111,12 @@ fn main() {
|
||||||
.get_matches();
|
.get_matches();
|
||||||
if let Some(_matches) = matches.subcommand_matches("csv") {
|
if let Some(_matches) = matches.subcommand_matches("csv") {
|
||||||
if let Some(path) = _matches.get_one::<String>("path") {
|
if let Some(path) = _matches.get_one::<String>("path") {
|
||||||
let mut ldf = io::read_csv(path.to_string());
|
let mut ldf = LazyFrame::default();
|
||||||
|
if _matches.get_flag("stdin") {
|
||||||
|
ldf = io::load_csv_from_stdin();
|
||||||
|
} else {
|
||||||
|
ldf = io::read_csv(path.to_string());
|
||||||
|
}
|
||||||
if let Some(query) = _matches.get_one::<String>("query") {
|
if let Some(query) = _matches.get_one::<String>("query") {
|
||||||
ldf = sql::execute(ldf, query);
|
ldf = sql::execute(ldf, query);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue