CSVCUT(1) csvkit CSVCUT(1)

csvcut - فیلتر کردن و برش ستون‌های فایل‌های CSV

فایل‌های CSV را فیلتر و کوتاه می‌کند. مانند دستور "cut" در یونیکس، اما برای داده‌های جدولی:

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]
فیلتر و کوتاه کردن فایل‌های CSV. شبیه دستور cut یونیکس، اما برای داده‌های جدولی.
آرگومان‌های مکانی:
  FILE                  فایل CSV مورد نظر برای عملیات. در صورت حذف، ورودی
                        هدایت‌شده (پایپ) از STDIN پذیرفته می‌شود.
آرگومان‌های اختیاری:
  -h, --help            نمایش این پیام راهنما و خروج
  -n, --names           نمایش نام و نمایه (شاخص) ستون‌ها از فایل CSV ورودی و خروج
  -c COLUMNS, --columns COLUMNS
                        فهرستی با کاما جداشده از شناسه‌ها، نام‌ها یا بازه‌های ستون‌ها
                        جهت استخراج، مثلاً "1,id,3-5". مقدار پیش‌فرض: تمام ستون‌ها.
  -C NOT_COLUMNS, --not-columns NOT_COLUMNS
                        فهرستی با کاما جداشده از شناسه‌ها، نام‌ها یا بازه‌های ستون‌ها
                        جهت مستثنی‌کردن، مثلاً "1,id,3-5". پیش‌فرض: بدون ستون.
                        ستون‌های ناشناخته را نادیده می‌گیرد.
  -x, --delete-empty-rows
                        پس از برش، سطرهایی که کاملاً خالی هستند حذف شوند.

همچنین ببینید: آرگومان‌های مشترک میان تمام ابزارها.

نکته:

ابزار csvcut فیلتر کردن سطرها را انجام نمی‌دهد، برای این منظور باید داده‌ها را به csvgrep پایپ کنید.

نکته:

اگر یک سطر داده از سطر هدر طولانی‌تر باشد، ستون‌های اضافی آن حذف (کوتاه) می‌شوند.

چاپ نمایه‌ها و نام‌های تمام ستون‌ها:

$ 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' Educational Assistance
  7: Reserve Educational Assistance Program
  8: Post-Vietnam Era Veteran's Educational Assistance Program
  9: TOTAL
 10:

چاپ فقط نام ستون‌ها با حذف نمایه‌ها با استفاده از دستور cut:

$ 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' Educational Assistance
Reserve Educational Assistance Program
Post-Vietnam Era Veteran's Educational Assistance Program
TOTAL

استخراج ستون‌های اول و سوم:

csvcut -c 1,3 examples/realdata/FY09_EDU_Recipients_by_State.csv

استخراج ستون‌هایی با نام‌های "TOTAL" و "State Name" (به همان ترتیب):

csvcut -c TOTAL,"State Name" examples/realdata/FY09_EDU_Recipients_by_State.csv

استخراج ستونی که ممکن است در تمام فایل‌ها وجود نداشته باشد:

echo d, | csvjoin examples/dummy.csv - | csvcut -c d
 echo d, | csvjoin examples/join_no_header_row.csv - | csvcut -c d

افزودن شماره خطوط به یک فایل بدون اعمال هیچ تغییر دیگری:

csvcut -l examples/realdata/FY09_EDU_Recipients_by_State.csv

نمایش مقادیر یکتای یک ستون:

csvcut -c 1 examples/realdata/FY09_EDU_Recipients_by_State.csv | sed 1d | sort | uniq

یا:

csvcut -c 1 examples/realdata/FY09_EDU_Recipients_by_State.csv | csvsql --query 'SELECT DISTINCT("State Name") FROM stdin'

Christopher Groskopf و مشارکت‌کنندگان

2016, Christopher Groskopf and James McKinney

۱۶ اوت ۲۰۲۴ 2.2.0