x-cmd pkg | xsv - CSV 和 TSV 文件处理器

2024-01-08 19:04
文章标签 csv 处理器 cmd pkg tsv xsv

本文主要是介绍x-cmd pkg | xsv - CSV 和 TSV 文件处理器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

    • 简介
    • 首次用户
    • 技术特点
    • 进一步阅读

简介

xsv 是一个用于索引、切片、分析、拆分和连接 CSV 和 TSV 文件的命令行程序,由 Andrew Gallant 使用 Rust 语言开发,首次发布于 2014 年 11月。

xsv 专为效率而生,并提供很多适合表格数据批处理场景的功能:

  1. 支持使用正则表达式或 类 SQL 语句进行筛选和排序。
  2. 提供对 CSV 数据文件统计分析的功能,例如统计行数、列数、频率
  3. 提供对 CSV 数据文件拼接和拆分的功能,例如将 CSV 数据文件拆分为多个文件、联接 CSV 多个文件

首次用户

  1. 使用 x xsv 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 xsv 命令常用功能的 demo 示例,可以帮你快速上手 xsv 。

  3. 使用案例:

    xsv-1min-cn

    # 显示 CSV 的表头内容
    x xsv headers path/data.csv# 获取 CSV 文件的行数
    x xsv count path/data.csv# 使用弹性制表符格式化显示
    x xsv table path/data.csv# 对 CSV 数据进行 select 操作,如对 ascii 码表进行 select 操作,只显示八进制编码、缩写和相应的描述
    x ascii | x xsv select Oct,Acronym,Description# 排序
    x ascii | x xsv sort -s Acronym
    

技术特点

  1. 性能优秀
    1. xsv 采用 Rust 编写,作者在实现中非常注意优化,因此 xsv 的性能极其优秀,可以胜任大数据场景。
    2. 在8核16进程,select 的数据吞吐量能够到达325MB/s
    3. benchmark
  2. 常用功能足够简单,同时为了极致的性能,性能方面的选择会暴露在命令项选项当中。
  3. 采用 CSV 存储 GB 级别数据的讨论
    1. 作者很有趣,对该项目的使用场景进行了说明。反过来,也能知道作者使用xsv所处理的数据量都是非常大的。对于一般场景,其性能和可靠性是绰绰有余的。
    2. 当数据足够大(例如上 GB),数据库是更好的选择,这一点是合理的。而 sqlite3 非常适合这类场景。
    3. 但是,对于冷数据运维场景,或者数据本身高度冗余(以压缩方式存储),GB 级别的数据输入是存在的。而配合日益强大的 CPU 计算,xsv 的存在给了我们更多的选择。

进一步阅读

  • xsv 源代码 - xsv 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 xsv 和参与社区贡献。
  • xsv 使用示例 - 该文章为 xsv 项目的 README.md 文档,其中提供 xsv 常用功能的使用示例。
  • kandi: xsv - 该网站从社区支持、项目质量、安全、License、Reuse 等方面对 xsv 项目进行了评估。

X-CMD 官网

  • x-cmd-pkg

  • x-cmd-1min

这篇关于x-cmd pkg | xsv - CSV 和 TSV 文件处理器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/584490

相关文章

anaconda3下的python编程练习-csv翻译器

相关理解和命令 一、环境配置1、conda命令2、pip命令3、python命令 二、开发思路三、开发步骤 一、环境配置 1、conda命令 镜像源配置 conda config --show channels //查看镜像源conda config --remove-key channels //删除添加源,恢复默认源#添加镜像源conda config --ad

一种快速生成CSV的方法

事情是这个样子的 在QQ群在聊把如何100万数据导出成CSV文件?会不会很慢? 俺回了一句“现在的机器性能好,没啥问题”。 然后大家开始谈论机器的配置了。哎,俺的机器配置有点差。 然后俺就进行了一个测试。 测试数据 数据定义         public struct Rec         {             public int v1;             publi

Spring点滴五:Spring中的后置处理器BeanPostProcessor讲解

https://www.cnblogs.com/sishang/p/6576665.html BeanPostProcessor接口作用:      如果我们想在Spring容器中完成bean实例化、配置以及其他初始化方法前后要添加一些自己逻辑处理。我们需要定义一个或多个BeanPostProcessor接口实现类,然后注册到Spring IoC容器中。   package com.t

【SpringMVC学习05】SpringMVC中的异常处理器

SpringMVC在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。 异常处理思路 我们知道,系统中异常包括两类:预期异常和运行时异常(RuntimeException),前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。系统的dao、service、controller出现异常都通过throws E

cmd 常用命令总结

尽管图形用户界面已成为常态,但命令行工具仍然在许多场景下不可或缺。下面是 Windows 命令提示符(CMD)中的一些常用命令及其用法。 1. 导航命令 cd:改变当前工作目录。 cd /?:获取 cd 命令的帮助信息。 cd \:回到当前驱动器的根目录。 cd ..:返回上一级目录。 cd /d E:\software:切换到另一个驱动器并进入指定的目录。 D::切换到 D 驱动器

python xlsx 转csv

# coding = utf-8import osimport pandas as pdimport csvfrom openpyxl import load_workbookdef get_filename(path_filename):"""获取文件所在文件夹路径、带拓展文件名、文件名、拓展名:param path_filename: 带拓展完整路径:return: 文件所在文件夹路径

mysql无法启动以及cmd下mysql命令无法识别的

1.mysql无法启动 解决方式: Win+R,输入services.msc,找到mysql服务 即默认的服务名是mysql55而不是mysql 2.mysql命令无法识别 直接输入mysql进入数据库报错 这是因为系统并不知道mysql是什么,我们需要在环境变量里添加mysql的安装地址中的bin目录地址。 C:\Program Files\My

cmd命令无法使用的情况(显示该命令不是内部或外部命令)

CMD 命令无法使用显示不是内部或外部命令,也不是可运行的程序或批处理文件。 问题所在:就是环境变量导致无法使用 重新配置环境变量    (注意是“用户变量”!而不是“系统变量”) 需添加环境变量如下 %SystemRoot%\system32%SystemRoot%%SystemRoot%\System32\Wbem%SYSTEMROOT%\System32\WindowsPo

Makefile问答之02 预处理器与宏

GCC Makefile中,怎样设定预处理器名称 在 GCC 的 Makefile 中,预处理器(preprocessor)的名称通常是 cpp(C PreProcessor),但在实际的 Makefile 中,我们一般是通过 gcc 命令来调用预处理器,而不是直接调用 cpp。不过,你可以通过设置 CPP 变量来显式指定预处理器名称和选项。以下是如何在 Makefile 中进行设置和使用的