File: csvcut.1

package info (click to toggle)
csvkit 2.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 40,664 kB
  • sloc: python: 4,924; perl: 1,000; makefile: 131; sql: 4
file content (213 lines) | stat: -rw-r--r-- 5,076 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "CSVCUT" "1" "Aug 16, 2024" "2.2.0" "csvkit"
.SH NAME
csvcut \- csvcut Documentation
.SH DESCRIPTION
.sp
Filters and truncates CSV files. Like the Unix \(dqcut\(dq command, but for tabular data:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
usage: csvcut [\-h] [\-d DELIMITER] [\-t] [\-q QUOTECHAR] [\-u {0,1,2,3}] [\-b]
              [\-p ESCAPECHAR] [\-z FIELD_SIZE_LIMIT] [\-e ENCODING] [\-S] [\-H]
              [\-K SKIP_LINES] [\-v] [\-l] [\-\-zero] [\-V] [\-n] [\-c COLUMNS]
              [\-C NOT_COLUMNS] [\-x]
              [FILE]

Filter and truncate CSV files. Like the Unix \(dqcut\(dq command, but for tabular
data.

positional arguments:
  FILE                  The CSV file to operate on. If omitted, will accept
                        input as piped data via STDIN.

optional arguments:
  \-h, \-\-help            show this help message and exit
  \-n, \-\-names           Display column names and indices from the input CSV
                        and exit.
  \-c COLUMNS, \-\-columns COLUMNS
                        A comma\-separated list of column indices, names or
                        ranges to be extracted, e.g. \(dq1,id,3\-5\(dq. Defaults to
                        all columns.
  \-C NOT_COLUMNS, \-\-not\-columns NOT_COLUMNS
                        A comma\-separated list of column indices, names or
                        ranges to be excluded, e.g. \(dq1,id,3\-5\(dq. Defaults to no
                        columns. Ignores unknown columns.
  \-x, \-\-delete\-empty\-rows
                        After cutting, delete rows which are completely empty.
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
See also: \fI\%Arguments common to all tools\fP\&.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
csvcut does not implement row filtering, for this you should pipe data to \fI\%csvgrep\fP\&.
.UNINDENT
.UNINDENT
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
If a data row is longer than the header row, its additional columns are truncated.
.UNINDENT
.UNINDENT
.SH EXAMPLES
.SS Print columns
.sp
Print the indices and names of all columns:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ csvcut \-n examples/realdata/FY09_EDU_Recipients_by_State.csv
  1: State Name
  2: State Abbreviate
  3: Code
  4: Montgomery GI Bill\-Active Duty
  5: Montgomery GI Bill\- Selective Reserve
  6: Dependents\(aq Educational Assistance
  7: Reserve Educational Assistance Program
  8: Post\-Vietnam Era Veteran\(aqs Educational Assistance Program
  9: TOTAL
 10:
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Print only the names of all columns, by removing the indices with the \fBcut\fP command:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ csvcut \-n examples/realdata/FY09_EDU_Recipients_by_State.csv | cut \-c6\-
State Name
State Abbreviate
Code
Montgomery GI Bill\-Active Duty
Montgomery GI Bill\- Selective Reserve
Dependents\(aq Educational Assistance
Reserve Educational Assistance Program
Post\-Vietnam Era Veteran\(aqs Educational Assistance Program
TOTAL
.ft P
.fi
.UNINDENT
.UNINDENT
.SS Extract columns
.sp
Extract the first and third columns:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
csvcut \-c 1,3 examples/realdata/FY09_EDU_Recipients_by_State.csv
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Extract columns named \(dqTOTAL\(dq and \(dqState Name\(dq (in that order):
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
csvcut \-c TOTAL,\(dqState Name\(dq examples/realdata/FY09_EDU_Recipients_by_State.csv
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Extract a column that may not exist in all files:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
echo d, | csvjoin examples/dummy.csv \- | csvcut \-c d
 echo d, | csvjoin examples/join_no_header_row.csv \- | csvcut \-c d
.ft P
.fi
.UNINDENT
.UNINDENT
.SS Other
.sp
Add line numbers to a file, making no other changes:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
csvcut \-l examples/realdata/FY09_EDU_Recipients_by_State.csv
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Display a column\(aqs unique values:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
csvcut \-c 1 examples/realdata/FY09_EDU_Recipients_by_State.csv | sed 1d | sort | uniq
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Or:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
csvcut \-c 1 examples/realdata/FY09_EDU_Recipients_by_State.csv | csvsql \-\-query \(aqSELECT DISTINCT(\(dqState Name\(dq) FROM stdin\(aq
.ft P
.fi
.UNINDENT
.UNINDENT
.SH AUTHOR
Christopher Groskopf and contributors
.SH COPYRIGHT
2016, Christopher Groskopf and James McKinney
.\" Generated by docutils manpage writer.
.