تغییر ترتیب ستونهای CSV بدون اکسل
عنوانها را به ترتیب خروجی دلخواه، هر کدام در یک خط، وارد کنید. برای کار فقط با جایگاه، #۳ و پس از آن #۱ و #۲ ستون سوم را به جلو میآورد. هر ردیف داده از همان نگاشت پیروی میکند و سلولهایی که جداکننده، گیومه یا شکست خط دارند هنگام نوشتن فایل جدید دوباره escape میشوند.
فایل UTF-۸ از نوع CSV، TSV یا متن جداشده تا ۲۰ مگابایت. فایل در همین زبانه میماند.
ترتیب فهرست نگهداری همان ترتیب ستونهای فایل دانلودشده است.
جایگاهها یکمبناییاند، بنابراین #۱ یعنی اولین ستون قابلمشاهده در صفحهگسترده.
فایل منبع بدون تغییر میماند و هرگز از دستگاه خارج نمیشود.
چگونگی کار
مراحل انجام کار
- فایل را بهصورت UTF-۸ بخوان و وجود نشانگر BOM را ثبت کن؛ سپس آن را هنگام تجزیه موقتاً کنار بگذار.
- جداکنندهٔ انتخابی را به کار ببر یا ویرگول، نقطهویرگول، تب و خط عمودی بیرون از گیومه را در نخستین رکورد کامل بشمار.
- فیلدها را با قواعد گیومهٔ CSV بخوان؛ دو گیومهٔ پیاپی یک گیومهاند و جداکننده یا شکست خط داخل گیومه بخشی از سلول است.
- هر خط غیرخالی فهرست انتخاب را با عنوان دقیق یا جایگاه یکمبنایی مانند #۱ تطبیق بده؛ فهرست خالی همهٔ جایگاههای منبع را انتخاب میکند.
- عنوان و همهٔ ردیفهای داده را روی همان جایگاههای مرتبشده تصویر کن و کمبود انتهای یک ردیف کوتاه را با سلول خالی پر کن.
- مقدارها را برای جداکنندهٔ خروجی دوباره گیومهگذاری کن، رکوردها را با CRLF بنویس و اگر ورودی BOM داشت آن را برگردان.
فرضها
- ورودی بهصورت UTF-۸ خوانده میشود؛ فایلهای کدپیج قدیمی ویندوز باید ابتدا به UTF-۸ تبدیل شوند.
- ردیف نخست بهطور پیشفرض عنوان است. در فایل بدون عنوان فقط با جایگاههایی مانند #۱ و #۳ میتوان ستون انتخاب کرد.
- فاصلهٔ ابتدا و انتهای عنوان برای تطبیق حذف میشود، اما بزرگی حروف لاتین و بقیهٔ متن باید دقیقاً یکسان باشند.
- عنوان تکراری مبهم است و باید با جایگاه انتخاب شود؛ ابزار هرگز بیصدا نخستین مورد را حدس نمیزند.
- ابزار ستون کامل را نگه میدارد یا جابهجا میکند؛ عنوان را تغییر نمیدهد، ردیف را فیلتر نمیکند و نوع داده حدس نمیزند.
- سقف ورودی ۲۰ مگابایت، ۵۰۰٬۰۰۰ ردیف و ۵٬۰۰۰ ستون است و خروجی بیش از ۶۴ مگابایت ساخته نمیشود.
پرسشهای رایج
آیا میتوانم نام عنوانها و جایگاههای # را با هم ترکیب کنم؟
بله. هر خط مستقل تفسیر میشود، بنابراین Email، #۱ و Country را میتوان با هم به کار برد. انتخاب دوبارهٔ یک ستون منبع رد میشود تا تکراری ناخواستهای ساخته نشود.
آیا فایل مرتبشده میتواند بهجای ویرگول از تب استفاده کند؟
بله. خروجی تب را انتخاب کنید تا یک فایل .tsv دانلود شود. برای ورودی ویرگول، نقطهویرگول، تب و خط عمودی از همان تجزیهگر گیومهآگاه استفاده میشود.
منابع
روش کامل، مثال محاسبهشده و همهٔ فرضهای این نتیجه در این صفحه آمده است: انتخاب ستونهای CSV.