{"repo":"shenwei356/csvtk","free":true,"listed":false,"github":"https://github.com/shenwei356/csvtk","clone":"git clone https://github.com/shenwei356/csvtk.git","description":"A cross-platform, efficient and practical CSV/TSV toolkit in Golang","language":"Go","stars":1166,"topics":["bioinformatics","command-line","cross-platform","csv","golang","tool","toolkit","tsv"],"license":"MIT","category":"dev_tool","readme_excerpt":"# csvtk - a cross-platform, efficient and practical CSV/TSV toolkit\n\n- **Documents:** [http://bioinf.shenwei.me/csvtk](http://bioinf.shenwei.me/csvtk/)\n( [**Usage**](http://bioinf.shenwei.me/csvtk/usage/), [**Tutorial**](http://bioinf.shenwei.me/csvtk/tutorial/) and [**FAQs**](http://bioinf.shenwei.me/csvtk/faq/)).\n[中文介绍](http://bioinf.shenwei.me/csvtk/chinese)\n- **Source code:**  [https://github.com/shenwei356/csvtk](https://github.com/shenwei356/csvtk) [![GitHub stars](https://img.shields.io/github/stars/shenwei356/csvtk.svg?style=social&label=Star&?maxAge=2592000)](https://github.com/shenwei356/csvtk)\n[![license](https://img.shields.io/github/license/shenwei356/csvtk.svg?maxAge=2592000)](https://github.com/shenwei356/csvtk/blob/master/LICENSE)\n- **Latest version:** [![Latest Stable Version](https://img.shields.io/github/release/shenwei356/csvtk.svg?style=flat)](https://github.com/shenwei356/csvtk/releases)\n[![Github Releases](https://img.shields.io/github/downloads/shenwei356/csvtk/latest/total.svg?maxAge=3600)](http://bioinf.shenwei.me/csvtk/download/)\n[![Cross-platform](https://img.shields.io/badge/platform-any-ec2eb4.svg?style=flat)](http://bioinf.shenwei.me/csvtk/download/)\n[![Anaconda Cloud](https://anaconda.org/conda-forge/csvtk/badges/version.svg)](https://anaconda.org/conda-forge/csvtk)\n\n\n## Introduction\n\nSimilar to FASTA/Q format in field of Bioinformatics,\nCSV/TSV formats are basic and ubiquitous file formats in both Bioinformatics and data science.\n\nPeople usually use spreadsheet software like MS Excel to process table data.\nHowever this is all by clicking and typing, which is **not\nautomated and is time-consuming to repeat**, especially when you want to\napply similar operations with different datasets or purposes.\n\n***You can also accomplish some CSV/TSV manipulations using shell commands,\nbut more code is needed to handle the header line. Shell commands do not\nsupport selecting columns with column names either.***\n\n`csvtk` is **convenient for rapid data investigation\nand also easy to integrate into analysis pipelines**.\nIt could save you lots of time in (not) writing Python/R scripts.\n\n\n## Table of Contents\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Introduction](#introduction)\n- [Table of Contents](#table-of-contents)\n- [Features](#features)\n- [Subcommands](#subcommands)\n- [Installation](#installation)\n    - [Method 1: Download binaries (latest stable/dev version)](#method-1-download-binaries-latest-stabledev-version)\n    - [Method 2: Install via Pixi](#method-2-install-via-pixi)\n    - [Method 3: Install via conda (latest stable version)  ](#method-3-install-via-conda-latest-stable-version--)\n    - [Method 4: Install via homebrew](#method-4-install-via-homebrew)\n    - [Method 5: For Go developer (latest stable/dev version)](#method-5-for-go-developer-latest-stabledev-version)\n    - [Method 6: For ArchLinux AUR users (may be not the latest)](#method-6-for-archlinux-aur-users-may-be-not-the-latest)\n- [Command-line completion](#command-line-completion)\n- [Compared to `csvkit`](#compared-to-csvkit)\n- [Examples](#examples)\n- [Acknowledgements](#acknowledgements)\n- [Contact](#contact)\n- [License](#license)\n- [Starchart](#starchart)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n\n## Features\n\n- **Cross-platform** (Linux/Windows/Mac OS X/OpenBSD/FreeBSD)\n- **Light weight and out-of-the-box, no dependencies, no compilation, no configuration**\n- **Fast**,  **multiple-CPUs supported** (some commands)\n- **Practical functions provided by N subcommands**\n- **Support STDIN and gzipped input/output file, easy being used in pipe**\n- **Seamless support for xz (.xz), zstd (.zst), Bzip2 (.bz2), LZ4 (.lz4) formats**\n- Most of the subcommands support ***unselecting fields*** and ***fuzzy fields***,\n  e.g. `-f \"-id,-name\"` for all fields except \"id\" and \"name\",\n  `-F -f \"a.*\"` for all fields with prefix \"a.\".\n- **Support some common plots** (see [usage](http://bioinf.shenwei.me/csvtk/usage/#plot))\n- <del>Seamless support for data with meta line (e.g., `sep=,`) of separator declaration used by MS Excel</del>\n\n## Subcommands\n\n59 subcommands in total.\n\n**Information**\n\n- [`headers`](https://bioinf.shenwei.me/csvtk/usage/#headers): prints headers\n- [`dim`](https://bioinf.shenwei.me/csvtk/usage/#dim/nrow/ncol): dimensions of CSV file\n- [`nrow`](https://bioinf.shenwei.me/csvtk/usage/#dim/nrow/ncol): print number of records\n- [`ncol`](https://bioinf.shenwei.me/csvtk/usage/#dim/nrow/ncol): print number of columns\n- [`summary`](https://bioinf.shenwei.me/csvtk/usage/#summary): summary statistics of selected numeric or text fields (groupby group fields)\n- [`watch`](https://bioinf.shenwei.me/csvtk/usage/#watch): online monitoring and histogram of selected field\n- [`corr`](https://bioinf.shenwei.me/csvtk/usage/#corr): calculate Pearson correlation between numeric columns\n\n**Format conversion**\n\n- [`pretty`](https://bioinf.shenwei.me/csvtk/usage/#pretty): converts CSV to a readable aligned table\n- [`csv2tab`](https://bioinf.shenwei.me/csvtk/usage/#csv2tab): converts CSV to tabular format\n- [`tab2csv`](https://bioinf.shenwei.me/csvtk/usage/#tab2csv): converts tabular format to CSV\n- [`space2tab`](https://bioinf.shenwei.me/csvtk/usage/#space2tab): converts space delimited format to TSV\n- [`csv2md`](https://bioinf.shenwei.me/csvtk/usage/#csv2md): converts CSV to markdown format\n- [`csv2rst`](https://bioinf.shenwei.me/csvtk/usage/#csv2rst): converts CSV to reStructuredText format\n- [`csv2json`](https://bioinf.shenwei.me/csvtk/usage/#csv2json): converts CSV to JSON format\n- [`csv2xlsx`](https://bioinf.shenwei.me/csvtk/usage/#csv2xlsx): converts CSV/TSV files to XLSX file\n- [`xlsx2csv`](https://bioinf.shenwei.me/csvtk/usage/#xlsx2csv): converts XLSX to CSV format\n\n**Set operations**\n\n- [`head`](https://bioinf.shenwei.me/csvtk/usage/#head): prints first N records\n- [`concat`](https://bioinf.shenwei.me/csvtk/usage/#concat): concatenates CSV/TSV files by rows\n- [`sample`](https://bioinf.shenwei.me/csvtk/usage/#sample): sampling by proportion\n- [`cut`](https://bioinf.shenwei.me/csvtk/usage/#cut): select and arrange fields\n- [`grep`](https://bioinf.shenwei.me/csvtk/usage/#grep): greps data by selected fields with patterns/regular expressions\n- [`uniq`](https://bioinf.shenwei.me/csvtk/usage/#uniq): unique data without sorting\n- [`freq`](https://bioinf.shenwei.me/csvtk/usage/#freq): frequencies of selected fields\n- [`inter`](https://bioinf.shenwei.me/csvtk/usage/#inter): intersection of multiple files\n- [`filter`](https://bioinf.shenwei.me/csvtk/usage/#filter): filters rows by values of selected fields with arithmetic expression\n- [`filter2`](https://bioinf.shenwei.me/csvtk/usage/#filter2): filters rows by awk-like arithmetic/string expressions\n- [`join`](https://bioinf.shenwei.me/csvtk/usage/#join): join files by selected fields (inner, left and outer join)\n- [`split`](https://bioinf.shenwei.me/csvtk/usage/#split) splits CSV/TSV into multiple files according to column values\n- [`splitxlsx`](https://bioinf.shenwei.me/csvtk/usage/#splitxlsx): splits XLSX sheet into multiple sheets according to column values\n- [`comb`](https://bioinf.shenwei.me/csvtk/usage/#comb): compute combinations of items at every row\n\n**Edit**\n\n- [`fix`](https://bioinf.shenwei.me/csvtk/usage/#fix): fix CSV/TSV with different numbers of columns in rows\n- [`fix-quotes`](https://bioinf.shenwei.me/csvtk/usage/#fix-quotes): fix malformed CSV/TSV caused by double-quotes\n- [`del-quotes`](https://bioinf.shenwei.me/csvtk/usage/#del-quotes): remove extra double-quotes added by `fix-quotes`\n- [`add-header`](https://bioinf.shenwei.me/csvtk/usage/#add-header): add column names\n- [`del-header`](https://bioinf.shenwei.me/csvtk/usage/#del-header): delete column names\n- [`rename`](https://bioinf.shenwei.me/csvtk/usage/#rename): renames column names with new names\n- [`rename2`](https://bioinf.shenwei.me/csvtk/usage/#rename2): renames column names by regular expression\n- [`replace`](https://bioinf.shenwei.me/csvtk/usage/#replace): replaces data of selected fields by regular expression\n- [`round`](https://bioinf.shenwei.me/csvtk/usage/#round): round float to n decimal places\n- [`comma`](https://bioinf.shenwei.me/csvtk/usage/comma): make numbers more readable by adding commas\n- [`mutate`](https://bioinf.shenwei.me/csvtk/usage/#mutate): creates new columns from selected fields by regular expression\n- [`mutate2`](https://bioinf.shenwei.me/csvtk/usage/#mutate2): creates a new column from selected fields by awk-like arithmetic/string expressions\n- [`mutate3`](https://bioinf.shenwei.me/csvtk/usage/#mutate3): create a new column from selected fields with Go-like expressions\n- [`fmtdate`](https://bioinf.shenwei.me/csvtk/usage/#fmtdate): format date of selected fields\n\n**Transform**\n\n- [`transpose`](https://bioinf.shenwei.me/csvtk/usage/#transpose): transposes CSV data\n- [`sep`](https://bioinf.shenwei.me/csvtk/usage/#sep): separate column into multiple columns\n- [`gather`](https://bioinf.shenwei.me/csvtk/usage/#gather): gather columns into key-value pairs, like `tidyr::gather/pivot_longer`\n- [`spread`](https://bioinf.shenwei.me/csvtk/usage/#spread): spread a key-value pair across multiple columns, like `tidyr::spread/pivot_wider`\n- [`unfold`](https://bioinf.shenwei.me/csvtk/usage/#unfold): unfold multiple values in cells of a field\n- [`fold`](https://bioinf.shenwei.me/csvtk/usage/#fold): fold multiple values of a field into cells of groups\n- [`long2matrix`](https://bioinf.shenwei.me/csvtk/usage/#long2matrix): convert the long format to a matrix\n- [`matrix2long`](https://bioinf.shenwei.me/csvtk/usage/#matrix2long): convert a matrix to the long format\n\n**Ordering**\n\n- [`sort`](https://bioinf.shenwei.me/csvtk/usage/#sort): sorts by selected fields\n- [`shuf`](https://bioinf.shenwei.me/csvtk/usage/#shuf): shuffle rows\n\n**Ploting**\n\n- [`plot`](https://bioinf.shen","default_branch":"master","files":155,"tree":[".github/FUNDING.yml",".github/issue_template.md",".gitignore",".travis.yml","CHANGELOG.md","LICENSE","README.md","csvtk/cmd/add-header.go","csvtk/cmd/bar.go","csvtk/cmd/box.go","csvtk/cmd/cat.go","csvtk/cmd/comb.go","csvtk/cmd/comma.go","csvtk/cmd/concat.go","csvtk/cmd/corr.go","csvtk/cmd/csv.go","csvtk/cmd/csv2json.go","csvtk/cmd/csv2md.go","csvtk/cmd/csv2rst.go","csvtk/cmd/csv2tab.go","csvtk/cmd/csv2xlsx.go","csvtk/cmd/cut.go","csvtk/cmd/del-header.go","csvtk/cmd/del-quotes.go","csvtk/cmd/dim.go","csvtk/cmd/filter.go","csvtk/cmd/filter2.go","csvtk/cmd/fix-quotes.go","csvtk/cmd/fix.go","csvtk/cmd/fmtdate.go","csvtk/cmd/fold.go","csvtk/cmd/freq.go","csvtk/cmd/gather.go","csvtk/cmd/genautocomplete.go","csvtk/cmd/grep.go","csvtk/cmd/head.go","csvtk/cmd/header.go","csvtk/cmd/helper.go","csvtk/cmd/hist.go","csvtk/cmd/inter.go","csvtk/cmd/join.go","csvtk/cmd/line.go","csvtk/cmd/logging.go","csvtk/cmd/long2matrix.go","csvtk/cmd/matrix2long.go","csvtk/cmd/mutate.go","csvtk/cmd/mutate2.go","csvtk/cmd/mutate3.go","csvtk/cmd/mutate3_test.go","csvtk/cmd/ncol.go","csvtk/cmd/nrow.go","csvtk/cmd/plot.go","csvtk/cmd/pretty.go","csvtk/cmd/rename.go","csvtk/cmd/rename2.go","csvtk/cmd/replace.go","csvtk/cmd/root.go","csvtk/cmd/round.go","csvtk/cmd/sample.go","csvtk/cmd/sep.go","csvtk/cmd/shuf.go","csvtk/cmd/sort.go","csvtk/cmd/space2tab.go","csvtk/cmd/split.go","csvtk/cmd/splitxlsx.go","csvtk/cmd/spread.go","csvtk/cmd/summary.go","csvtk/cmd/tab2csv.go","csvtk/cmd/transpose.go","csvtk/cmd/unfold.go","csvtk/cmd/uniq.go","csvtk/cmd/version.go","csvtk/cmd/watch.go","csvtk/cmd/xlsx2csv.go","csvtk/main.go","csvtk/packaging.sh","doc/docs/bioinf.md","doc/docs/chinese.md","doc/docs/commands.txt","doc/docs/download.md","doc/docs/faq.md","doc/docs/files/favicon.ico","doc/docs/files/grep_result.png","doc/docs/files/otu_table.csv","doc/docs/files/otu_table.gAB.csv","doc/docs/files/otu_table.gAB.t.csv","doc/docs/files/otu_table.gAB.t.r.csv","doc/docs/files/otu_table2.csv","doc/docs/files/otu_table3.csv","doc/docs/index.md","doc/docs/testdata/figures","doc/docs/tutorial.md","doc/docs/usage.md","doc/mkdocs.yml","go.mod","go.sum","testdata/1.csv","testdata/2.csv","testdata/3.csv","testdata/A.f.csv","testdata/B.f.csv","testdata/C.f.csv","testdata/accounts.split.xlsx","testdata/accounts.xlsx","testdata/alias.tsv","testdata/blank.csv","testdata/corr_data.tsv","testdata/data.tsv","testdata/data4json.csv","testdata/data4json2.csv","testdata/date.xlsx","testdata/date2value.csv","testdata/date3.csv","testdata/datesub.csv","testdata/digitals.tsv","testdata/digitals2.csv","testdata/digitals_with_meta.tsv","testdata/dup-colname.csv","testdata/dup-colname.reorder.csv","testdata/empty.csv","testdata/empty.csv.xlsx","testdata/figures/boxplot.png","testdata/figures/boxplot2.png","testdata/figures/histogram.png","testdata/figures/line_plot_date.png","testdata/figures/lineplot.png","testdata/figures/scatter.png","testdata/floats.csv","testdata/grouped_data.tsv.gz","testdata/hairpin.fa.gz","testdata/histogram.png","testdata/lineages.csv","testdata/long.csv","testdata/malformed.tsv","testdata/mini.csv","testdata/mutate3len.csv","testdata/names.csv","testdata/names.reorder.csv","testdata/names.with-unmatched-colname.csv","testdata/null_coalescence.csv","testdata/pairwise-data.matrix.tsv","testdata/pairwise-data.tsv","testdata/phones.csv","testdata/players.csv","testdata/positions.csv","testdata/reads.fq.gz","testdata/region.csv","testdata/size.csv","testdata/size_level.txt","testdata/t.md","testdata/teachers.csv","testdata/test.sh","testdata/unequal_ncols.csv","testdata/unicode.csv","testdata/xy.tsv"],"storefront":"/r/shenwei356","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/shenwei356/csvtk/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}