.\" 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 "CSVCLEAN" "1" "16 اوت 2024" "2.2.0" "csvkit" .SH "نام (NAME)" csvclean \- گزارش و اصلاح خطاهای رایج در یک فایل CSV .SH "توضیحات (DESCRIPTION)" .sp خطاهای رایج در یک فایل CSV را گزارش داده و برطرف می‌کند. .SS "بررسی‌ها (Checks)" .INDENT 0.0 .IP \(bu 2 گزارش ردیف‌هایی که تعداد ستون‌های آن‌ها با ردیف هدر متفاوت است، در صورتی که گزینه \fB\-\-length\-mismatch\fP تنظیم شده باشد. .IP \(bu 2 گزارش ستون‌های خالی، در صورتی که گزینه \fB\-\-empty\-columns\fP تنظیم شده باشد. .UNINDENT .sp \fBنکته:\fP .INDENT 0.0 .INDENT 3.5 فعال‌سازی همه بررسی‌ها با \fB\-\-enable\-all\-checks\fP (\fB\-a\fP). .UNINDENT .UNINDENT .SS "اصلاحات (Fixes)" .INDENT 0.0 .IP \(bu 2 اگر یک فایل CSV دارای سلول‌های فاقد نقل‌قول باشد که حاوی شکست خط (انتقال به خط بعد) هستند، مانند: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C id,address,country 1,1 Main St Springfield,US 2,123 Acadia Avenue London,GB .ft P .fi .UNINDENT .UNINDENT .sp از \fB\-\-join\-short\-rows\fP برای تلاش جهت اصلاح خطاها از طریق ادغام ردیف‌های کوتاه در یک ردیف استفاده کنید: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C id,address,country 1,\(dq1 Main St Springfield\(dq,US 2,\(dq123 Acadia Avenue London\(dq,GB .ft P .fi .UNINDENT .UNINDENT .sp برای تغییر رشته مورد استفاده جهت پیوند دادن خطوط، از \fB\-\-separator\fP\& استفاده کنید. برای مثال با \fB\-\-separator \(dq, \(dq\fP: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C id,address,country 1,\(dq1 Main St, Springfield\(dq,US 2,\(dq123 Acadia Avenue, London\(dq,GB .ft P .fi .UNINDENT .UNINDENT .IP \(bu 2 اگر یک فایل CSV دارای جداکننده‌های ناموجود باشد، مانند: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C id,name,country 1,Alice 2,Bob,CA .ft P .fi .UNINDENT .UNINDENT .sp می‌توانید جداکننده‌های مفقود را با \fB\-\-fill\-short\-rows\fP اضافه کنید: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C id,name,country 1,Alice, 2,Bob,CA .ft P .fi .UNINDENT .UNINDENT .sp \fBنکته:\fP .INDENT 2.0 .INDENT 3.5 دستور \fI\%csvcut\fP بدون هیچ گزینه‌ای نیز جداکننده‌های مفقود را اضافه می‌کند! .UNINDENT .UNINDENT .sp برای تغییر مقداری که برای پر کردن ردیف‌های کوتاه استفاده می‌شود، از \fB\-\-fillvalue\fP\& استفاده کنید. برای مثال با \fB\-\-fillvalue \(dqUS\(dq\fP: .INDENT 2.0 .INDENT 3.5 .sp .nf .ft C id,name,country 1,Alice,US 2,Bob,CA .ft P .fi .UNINDENT .UNINDENT .UNINDENT .sp \fBهمچنین ببینید:\fP .INDENT 0.0 .INDENT 3.5 گزینه \fB\-\-header\-normalize\-space\fP در بخش \fI\%نحوه استفاده (Usage)\fP\&. .UNINDENT .UNINDENT .sp \fBتوجه:\fP .INDENT 0.0 .INDENT 3.5 هر ابزار در مجموعه csvkit موارد زیر را انجام می‌دهد: .INDENT 0.0 .IP \(bu 2 کاراکترهای نقل‌قول اختیاری را حذف می‌کند، مگر اینکه گزینه \fI\-\-quoting\fP (\fI\-u\fP) برای تغییر این رفتار تنظیم شده باشد .IP \(bu 2 جداکننده فیلدها را به کاما تغییر می‌دهد، در صورتی که جداکننده ورودی با گزینه‌های \fI\-\-delimiter\fP (\fI\-d\fP) یا \fI\-\-tabs\fP (\fI\-t\fP) مشخص شده باشد .IP \(bu 2 جداکننده رکوردها را به LF (یا \fB\en\fP) تغییر می‌دهد .IP \(bu 2 کاراکتر نقل‌قول را به گیومه دوتایی (double-quotation mark) تغییر می‌دهد، در صورتی که کاراکتر با گزینه \fI\-\-quotechar\fP (\fI\-q\fP) تعیین شده باشد .IP \(bu 2 رمزگذاری کاراکترها را به UTF\-8 تغییر می‌دهد، در صورتی که رمزگذاری ورودی با گزینه \fI\-\-encoding\fP (\fI\-e\fP) تنظیم شده باشد .UNINDENT .UNINDENT .UNINDENT .SS "خروجی (Output)" .sp برنامه \fBcsvclean\fP تلاش می‌کند اصلاحات انتخاب‌شده را اعمال کند. سپس: .INDENT 0.0 .IP \(bu 2 اگر گزینه \fB\-\-omit\-error\-rows\fP تنظیم شده باشد، \fBفقط\fP ردیف‌هایی که از بررسی‌های انتخاب‌شده عبور کرده‌اند در خروجی استاندارد نوشته می‌شوند. در غیر این صورت، \fBتمام\fP ردیف‌ها در خروجی استاندارد نوشته خواهند شد. .IP \(bu 2 اگر هرگونه بررسی فعال باشد، ردیف‌های \fBدارای خطا\fP به همراه شماره خط و توضیحات در خطای استاندارد (stderr) نوشته می‌شوند. در صورت وجود ردیف‌های خطا، کد خروج ۱ خواهد بود. .UNINDENT .SS "نحوه استفاده (Usage)" .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C usage: csvclean [\-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] [FILE] Fix common errors in a CSV file. 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 \-\-length\-mismatch Report data rows that are shorter or longer than the header row. \-\-empty\-columns Report empty columns as errors. \-a, \-\-enable\-all\-checks Enable all error reporting. \-\-omit\-error\-rows Omit data rows that contain errors, from standard output. \-\-label LABEL Add a \(dqlabel\(dq column to standard error. Useful in automated workflows. Use \(dq\-\(dq to default to the input filename. \-\-header\-normalize\-space Strip leading and trailing whitespace and replace sequences of whitespace characters by a single space in the header. \-\-join\-short\-rows Merges short rows into a single row. \-\-separator SEPARATOR The string with which to join short rows. Defaults to a newline. \-\-fill\-short\-rows Fill short rows with the missing cells. \-\-fillvalue FILLVALUE The value with which to fill short rows. Defaults to none. .ft P .fi .UNINDENT .UNINDENT .sp همچنین ببینید: \fI\%آرگومان‌های مشترک میان تمام ابزارها\fP\&. .SH "مثال‌ها (EXAMPLES)" .sp آزمودن فایلی با ردیف‌های داده‌ای که کوتاه‌تر و بلندتر از ردیف هدر هستند: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C $ csvclean examples/bad.csv 2> errors.csv column_a,column_b,column_c 0,mixed types.... uh oh,17 $ cat errors.csv line_number,msg,column_a,column_b,column_c 1,\(dqExpected 3 columns, found 4 columns\(dq,1,27,,I\(aqm too long! 2,\(dqExpected 3 columns, found 2 columns\(dq,,I\(aqm too short! .ft P .fi .UNINDENT .UNINDENT .sp \fBتوجه:\fP .INDENT 0.0 .INDENT 3.5 اگر هر یک از ردیف‌های داده طولانی‌تر از ردیف هدر باشند، باید ستون‌ها را به‌صورت دستی اضافه کنید؛ برای مثال با افزودن یک یا چند جداکننده (\fB,\fP) به انتهای ردیف هدر. برنامه \fBcsvclean\fP نمی‌تواند این کار را انجام دهد، زیرا برای کار با ورودی استاندارد طراحی شده است، و اصلاح خطا در ابتدای داده‌های CSV بر اساس مشاهده‌ای در ادامه داده‌ها نیازمند نگه داشتن تمام داده‌های CSV در حافظه است – که این روش برای فایل‌های حجیم امکان‌پذیر نیست. .UNINDENT .UNINDENT .sp آزمودن فایلی با ستون‌های خالی: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C $ csvclean \-\-empty\-columns examples/test_empty_columns.csv 2> errors.csv a,b,c,, a,,,, ,,c,, ,,,, $ cat errors.csv line_number,msg,a,b,c,, 1,\(dqEmpty columns named \(aqb\(aq, \(aq\(aq, \(aq\(aq! Try: csvcut \-C 2,4,5\(dq,,,,, .ft P .fi .UNINDENT .UNINDENT .sp استفاده از \fI\%csvcut\fP برای مستثنی کردن ستون‌های خالی: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C $ csvcut \-C 2,4,5 examples/test_empty_columns.csv a,c a, ,c , .ft P .fi .UNINDENT .UNINDENT .sp برای تغییر پایان خط از LF (یا \fB\en\fP) به CRLF (یا \fB\er\en\fP) از دستور زیر استفاده کنید: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C csvformat \-M $\(aq\er\en\(aq examples/dummy.csv .ft P .fi .UNINDENT .UNINDENT .SH "نویسنده (AUTHOR)" Christopher Groskopf و مشارکت‌کنندگان .SH "حق نشر (COPYRIGHT)" 2016, Christopher Groskopf and James McKinney .