ruby / csv

CSV Reading and Writing
https://ruby.github.io/csv/
BSD 2-Clause "Simplified" License
177 stars 113 forks source link

Suggestion to add `sep` option #272

Open kojix2 opened 1 year ago

kojix2 commented 1 year ago

Hi! CSV developers!

Currently, the col_sep option is used in Ruby's CSV library,

CSV.open("nice.tsv", col_sep: "\t")

but it requires 8 keystrokes. sep requires only 3 keystrokes.

The reason col_sep exists is because the row_sep option exists. However, row_sep is used much less frequently than col_sep.

Using sep as an alias for col_sep would make using the CSV library a little easier and more enjoyable.

Many R and Python libraries use sep in the sense of col_sep. For example, pandas can read a tsv file as follows

import pandas as pd

df = pd.read_csv(file_path, sep="\t")

In pandas, delimiter is an alias for sep. It is not uncommon for sep options to have aliases in this way.

It took some courage to make such a proposal to a library with such a long history as CSV.

Thanks for reading.

kou commented 1 year ago

We may want to add TSV class that uses \t as the default column separator.