Si vous pouvez utiliser pip, vous pouvez l'installer avec la ligne suivante
$ pip install csvkit
Veuillez consulter la Page officielle pour plus de détails.
$ ls /usr/local/bin/*csv*
/usr/local/bin/csvclean /usr/local/bin/csvgrep /usr/local/bin/csvlook /usr/local/bin/csvsql /usr/local/bin/in2csv
/usr/local/bin/csvcut /usr/local/bin/csvjoin /usr/local/bin/csvpy /usr/local/bin/csvstack /usr/local/bin/sql2csv
/usr/local/bin/csvformat /usr/local/bin/csvjson /usr/local/bin/csvsort /usr/local/bin/csvstat
Il y en a pas mal. Est-ce tout?
$ head -n 10 iris.csv
,Sepal.Length,Sepal.Width,Petal.Length,Petal.Width,Species
1,5.1,3.5,1.4,0.2,setosa
2,4.9,3,1.4,0.2,setosa
3,4.7,3.2,1.3,0.2,setosa
4,4.6,3.1,1.5,0.2,setosa
5,5,3.6,1.4,0.2,setosa
6,5.4,3.9,1.7,0.4,setosa
7,4.6,3.4,1.4,0.3,setosa
8,5,3.4,1.5,0.2,setosa
9,4.4,2.9,1.4,0.2,setosa
csvlook
――Il sera façonné et affiché pour une visualisation facile
--Si le séparateur est autre qu'une virgule, `-d" | "`
etc.
$ csvlook iris.csv | head -n 10
|------+--------------+-------------+--------------+-------------+-------------|
| | Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species |
|------+--------------+-------------+--------------+-------------+-------------|
| 1 | 5.1 | 3.5 | 1.4 | 0.2 | setosa |
| 2 | 4.9 | 3 | 1.4 | 0.2 | setosa |
| 3 | 4.7 | 3.2 | 1.3 | 0.2 | setosa |
| 4 | 4.6 | 3.1 | 1.5 | 0.2 | setosa |
| 5 | 5 | 3.6 | 1.4 | 0.2 | setosa |
| 6 | 5.4 | 3.9 | 1.7 | 0.4 | setosa |
| 7 | 4.6 | 3.4 | 1.4 | 0.3 | setosa |
csvcut -n Comme les noms () dans R
$ csvcut -n iris.csv
1:
2: Sepal.Length
3: Sepal.Width
4: Petal.Length
5: Petal.Width
6: Species
csvcut -c Une seule colonne (par numéro de colonne)
$ csvcut -c 2 iris.csv | head
Sepal.Length
5.1
4.9
4.7
4.6
5
5.4
4.6
5
4.4
Une seule colonne (par nom de colonne)
$ csvcut -c Sepal.Length iris.csv | head
Sepal.Length
5.1
4.9
4.7
4.6
5
5.4
4.6
5
4.4
Sélectionnez deux colonnes ou plus et csvlook
$ csvcut -c 2,4 iris.csv | csvlook | head
|---------------+---------------|
| Sepal.Length | Petal.Length |
|---------------+---------------|
| 5.1 | 1.4 |
| 4.9 | 1.4 |
| 4.7 | 1.3 |
| 4.6 | 1.5 |
| 5 | 1.4 |
| 5.4 | 1.7 |
| 4.6 | 1.4 |
Sauf pour certaines colonnes et csvlook
$ csvcut -C Species iris.csv | csvlook | head
|------+--------------+-------------+--------------+--------------|
| | Sepal.Length | Sepal.Width | Petal.Length | Petal.Width |
|------+--------------+-------------+--------------+--------------|
| 1 | 5.1 | 3.5 | 1.4 | 0.2 |
| 2 | 4.9 | 3 | 1.4 | 0.2 |
| 3 | 4.7 | 3.2 | 1.3 | 0.2 |
| 4 | 4.6 | 3.1 | 1.5 | 0.2 |
| 5 | 5 | 3.6 | 1.4 | 0.2 |
| 6 | 5.4 | 3.9 | 1.7 | 0.4 |
| 7 | 4.6 | 3.4 | 1.4 | 0.3 |
csvgrep --Afficher les données d'une colonne dans des conditions spécifiées
$ csvgrep -c Species -m setosa iris.csv | csvlook | head
|-----+--------------+-------------+--------------+-------------+----------|
| | Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species |
|-----+--------------+-------------+--------------+-------------+----------|
| 1 | 5.1 | 3.5 | 1.4 | 0.2 | setosa |
| 2 | 4.9 | 3 | 1.4 | 0.2 | setosa |
| 3 | 4.7 | 3.2 | 1.3 | 0.2 | setosa |
| 4 | 4.6 | 3.1 | 1.5 | 0.2 | setosa |
| 5 | 5 | 3.6 | 1.4 | 0.2 | setosa |
| 6 | 5.4 | 3.9 | 1.7 | 0.4 | setosa |
| 7 | 4.6 | 3.4 | 1.4 | 0.3 | setosa |
Même avec des expressions régulières
$ csvgrep -c Species -r ^s.*$ iris.csv | csvlook | head
|-----+--------------+-------------+--------------+-------------+----------|
| | Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species |
|-----+--------------+-------------+--------------+-------------+----------|
| 1 | 5.1 | 3.5 | 1.4 | 0.2 | setosa |
| 2 | 4.9 | 3 | 1.4 | 0.2 | setosa |
| 3 | 4.7 | 3.2 | 1.3 | 0.2 | setosa |
| 4 | 4.6 | 3.1 | 1.5 | 0.2 | setosa |
| 5 | 5 | 3.6 | 1.4 | 0.2 | setosa |
| 6 | 5.4 | 3.9 | 1.7 | 0.4 | setosa |
| 7 | 4.6 | 3.4 | 1.4 | 0.3 | setosa |
Même dans la section
$ csvgrep -c Sepal.Length -r "[4.5-5]" iris.csv | csvlook | head
|------+--------------+-------------+--------------+-------------+-------------|
| | Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species |
|------+--------------+-------------+--------------+-------------+-------------|
| 1 | 5.1 | 3.5 | 1.4 | 0.2 | setosa |
| 2 | 4.9 | 3 | 1.4 | 0.2 | setosa |
| 3 | 4.7 | 3.2 | 1.3 | 0.2 | setosa |
| 4 | 4.6 | 3.1 | 1.5 | 0.2 | setosa |
| 5 | 5 | 3.6 | 1.4 | 0.2 | setosa |
| 6 | 5.4 | 3.9 | 1.7 | 0.4 | setosa |
| 7 | 4.6 | 3.4 | 1.4 | 0.3 | setosa |
csvformat
$ csvformat -T iris.csv
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
<snip>
csvjoin
csvstat --C'est pratique.
csvstat iris.csv
1. _unnamed
<type 'int'>
Nulls: False
Min: 1
Max: 150
Sum: 11325
Mean: 75.5
Median: 75.5
Standard Deviation: 43.3003079281
Unique values: 150
2. Sepal.Length
<snip>
csvclean ――Il vérifiera si le nombre de colonnes est correct. S'il n'y a pas de problème, ** Aucune erreur. ** est affiché.
$ csvclean iris.csv
No errors.
csvjson --Convertit en JSON
$ csvjson -i 2 iris.csv | head -n 20
[
{
"": "1",
"Sepal.Length": "5.1",
"Sepal.Width": "3.5",
"Petal.Length": "1.4",
"Petal.Width": "0.2",
"Species": "setosa"
},
{
"": "2",
"Sepal.Length": "4.9",
"Sepal.Width": "3",
"Petal.Length": "1.4",
"Petal.Width": "0.2",
"Species": "setosa"
},
{
"": "3",
"Sepal.Length": "4.7",
<snip>
csvsql -i
Liste des éléments pouvant être convertis
$ csvsql -h
<snip>
-i {access,sybase,sqlite,informix,firebird,mysql,oracle,maxdb,postgresql,mssql}, --dialect {access,sybase,sqlite,informix,firebird,mysql,oracle,maxdb,postgresql,mssql}
<snip>
mysql ressemble à ceci
$ csvsql -i mysql iris.csv
CREATE TABLE iris (
_unnamed INTEGER NOT NULL,
`Sepal.Length` FLOAT NOT NULL,
`Sepal.Width` FLOAT NOT NULL,
`Petal.Length` FLOAT NOT NULL,
`Petal.Width` FLOAT NOT NULL,
`Species` VARCHAR(10) NOT NULL
);
in2csv --Conversion du fichier Excel (.xlsx) en csv. Les données reçues de la division commerciale ont de nombreux modèles xlsx et sont téléchargées sur le serveur telles quelles, donc c'est en fait assez pratique. ――Je me demande si vous n'avez pas à ** read.xlsx ** avec R.
in2csv -f json
sql2csv --Conversion de celui enregistré dans SQL DB vers csv ―― Cela semble également être utile pour les personnes qui ne comprennent pas la grammaire SQL de la toucher légèrement.
Recommended Posts