CSVJOIN(1) csvkit CSVJOIN(1)

csvjoin - ادغام دو یا چند پرونده CSV با روشی مشابه عملیات JOIN در SQL

دو یا چند جدول CSV را با استفاده از روشی مشابه عملیات JOIN در SQL با یکدیگر ادغام می‌کند. به‌طور پیش‌فرض پیوند داخلی (inner join) انجام می‌دهد، اما پیوندهای خارجی کامل (full outer)، چپ (left outer) و راست (right outer) نیز از طریق فلگ‌ها در دسترس هستند. ستون‌های کلید با فلگ -c مشخص می‌شوند (چه یک ستون واحد که در همه جدول‌ها موجود باشد، یا فهرستی از ستون‌ها جداشده با کاما که هر کدام متناظر با یک پرونده باشد). اگر فلگ ستون‌ها ارائه نشود، جدول‌ها به‌صورت «ترتیبی» (sequentially) ادغام می‌شوند، یعنی بر اساس ترتیب سطرها بدون هیچ‌گونه فیلترسازی ادغام خواهند شد:

usage: csvjoin [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b]
               [-p ESCAPECHAR] [-z FIELD_SIZE_LIMIT] [-e ENCODING] [-L LOCALE]
               [-S] [--blanks] [--null-value NULL_VALUES [NULL_VALUES ...]]
               [--date-format DATE_FORMAT] [--datetime-format DATETIME_FORMAT]
               [-H] [-K SKIP_LINES] [-v] [-l] [--zero] [-V] [-c COLUMNS]
               [--outer] [--left] [--right] [-y SNIFF_LIMIT] [-I]
               [FILE [FILE ...]]
Execute a SQL-like join to merge CSV files on a specified column or columns.
positional arguments:
  FILE                  پرونده‌های CSV برای پردازش. اگر فقط یک پرونده
                        مشخص شود، در خروجی استاندارد چاپ خواهد شد.
optional arguments:
  -h, --help            نمایش این پیام راهنما و خروج
  -c COLUMNS, --columns COLUMNS
                        نام ستون(هایی) که پیوند بر اساس آن انجام می‌شود.
                        باید یک نام (یا شاخص) باشد یا فهرستی جداشده با کاما
                        شامل یک نام (یا شاخص) به ازای هر پرونده با همان ترتیب
                        فایل‌های ورودی. در صورت عدم تعیین، دو پرونده به صورت
                        ترتیبی و بدون تطبیق ادغام می‌شوند.
  --outer               انجام پیوند خارجی کامل (full outer join) به‌جای
                        پیوند داخلی پیش‌فرض.
  --left                انجام پیوند خارجی چپ (left outer join) به‌جای
                        پیوند داخلی پیش‌فرض. اگر بیش از دو پرونده داده شود،
                        به‌صورت دنباله‌ای از پیوندهای خارجی چپ از سمت چپ اجرا خواهد شد.
  --right               انجام پیوند خارجی راست (right outer join) به‌جای
                        پیوند داخلی پیش‌فرض. اگر بیش از دو پرونده داده شود،
                        به‌صورت دنباله‌ای از پیوندهای خارجی راست از سمت راست اجرا خواهد شد.
  -y SNIFF_LIMIT, --snifflimit SNIFF_LIMIT
                        محدود کردن تشخیص گویش CSV به تعداد بایت‌های مشخص‌شده.
                        مقدار "0" را برای غیرفعال کردن کامل تشخیص یا
                        "-1" را برای بررسی کل فایل مشخص کنید.
  -I, --no-inference    غیرفعال کردن استنتاج نوع (و همچنین گزینه‌های
                        --locale، --date-format، --datetime-format و
                        --no-leading-zeroes) هنگام تحلیل ورودی.
توجه داشته باشید که عملیات ادغام مستلزم بارگذاری تمام پرونده‌ها در حافظه است.
این کار را روی پرونده‌های بسیار بزرگ امتحان نکنید.

همچنین ببینید: Arguments common to all tools.

csvjoin -c 1 examples/join_a.csv examples/join_b.csv

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

echo "," | csvjoin examples/dummy.csv -

افزودن یک ستون تک به سمت راست یک پرونده CSV:

echo "new-column" | csvjoin examples/dummy.csv -

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

2016, Christopher Groskopf and James McKinney

August 16, 2024 2.2.0