نحوه استفاده
- متن CSV را جایگذاری کنید، یک فایل .csv یا .tsv را باز کنید یا روی «یک نمونه را امتحان کنید» بزنید.
- «تشخیص خودکار» را نگه دارید یا جداکننده را خودتان انتخاب کنید و مشخص کنید که آیا ردیف اول شامل نام ستونهاست یا نه.
- در صورت تمایل، تشخیص اعداد، مقادیر بولی و null را روشن کنید و خروجی را بهصورت اشیا یا آرایه انتخاب کنید.
- JSON را کپی کنید یا آن را بهصورت فایل .json دانلود کنید.
نحوه کار
این تجزیهگر از RFC 4180، مشخصات CSV پیروی میکند: فیلدها میتوانند داخل گیومه دوتایی قرار بگیرند؛ یک فیلد گیومهدار میتواند شامل جداکننده و شکست خط باشد و دو گیومه دوتایی داخل یک فیلد گیومهدار، یک نویسه گیومه محسوب میشود. شکست خط میتواند CRLF (ویندوز)، LF (مک، لینوکس) یا CR باشد و شکست خط پایانی یک رکورد خالی ایجاد نمیکند. خطوط کاملاً خالی نادیده گرفته میشوند. نشانه ترتیب بایت (BOM) که اکسل اغلب در ابتدای فایل مینویسد حذف میشود. اگر یک فیلد گیومهدار بسته نشود، خطایی همراه با شماره خط شروع آن دریافت میکنید؛ زیرا حدس زدن باعث میشد بقیه فایل بیصدا در یک سلول ادغام شود.
تشخیص خودکار، ویرگول، نقطهویرگول، تب و خط عمودی (pipe) را روی سطرهای اول امتحان میکند و موردی را انتخاب میکند که تعداد ستونهای یکنواختی بدهد. با وجود سطر عنوان، هر رکورد به یک شیء تبدیل میشود که کلیدهای آن نام ستونها هستند؛ نامهای خالی به column_1، column_2… تبدیل میشوند و نامهای تکراری پسوندی مانند id_2 میگیرند. سطرهایی که تعداد فیلد کمتری از سربرگ دارند، مقدار خالی میگیرند و فیلدهای اضافی نام ستون اضافی میگیرند.
بهطور پیشفرض هر مقدار بهصورت رشته باقی میماند که انتخاب امنی است: کدپستیهایی مانند 01234، شماره تلفنها و شناسهها صفرهای ابتدای خود را حفظ میکنند. با فعالکردن تشخیص نوع، مقدارهایی که دقیقاً مانند اعداد JSON نوشته شدهاند عدد میشوند (اما نه 007، 1,5 یا اعداد صحیح بزرگتر از 2^53)، true و false بدون توجه به بزرگی و کوچکی حروف بولین میشوند و null یا سلول خالی به null تبدیل میشود. تاریخها بهصورت متن باقی میمانند.
نمونهها
خروجی صفحهگسترده
id,name,price 1,Desk,149.90 به [{"id":"1","name":"Desk","price":"149.90"}] تبدیل میشود. با فعالبودن تشخیص نوع، به {"id":1,"name":"Desk","price":149.9} تبدیل میشود.
فایلهای Excel اروپایی
فایلی که Excel در آلمان ذخیره میکند از نقطهویرگول استفاده میکند: Name;Preis Tisch;149,90. تشخیص خودکار نقطهویرگول را انتخاب میکند و 149,90 بهصورت رشتهٔ "149,90" باقی میماند؛ چون یک عدد معتبر JSON نیست.
سلولهای دارای شکست خط
سلول نشانی که بهصورت "221B Baker Street London" نوشته شده (نقلقولشده و دوسطری) بهصورت یک مقدار "221B Baker Street London" باقی میماند، نه اینکه ردیف جدیدی شروع کند.
پرسشهای متداول
چرا اعداد من در JSON بهصورت رشته هستند؟
CSV نوع داده ندارد؛ بنابراین بهطور پیشفرض هر مقدار دقیقاً همانطور که نوشته شده بهصورت متن نگهداری میشود. گزینهٔ «تشخیص اعداد، true/false و null» را روشن کنید تا مقادیری که شبیه عدد هستند تبدیل شوند. صفرهای ابتدایی و ویرگول اعشاری برای جلوگیری از تغییر دادهها بهصورت متن باقی میمانند.
اگر یک ردیف تعداد ستونهای بیشتر یا کمتری نسبت به سرستون داشته باشد چه میشود؟
مقادیر مفقود به رشتههای خالی تبدیل میشوند (یا با فعال بودن تشخیص نوع، null). مقادیر اضافی زیر کلیدهای اضافهای به نام column_N نگهداری میشوند؛ بنابراین هیچ دادهای حذف نمیشود.
آیا میتواند فایلهای xlsx. اکسل را بخواند؟
خیر؛ فقط فایلهای متنی CSV و TSV پشتیبانی میشوند. در Excel یا Google Sheets ابتدا File › Save as / Download › CSV را انتخاب کنید و سپس همان فایل را اینجا باز کنید.
حداکثر اندازه فایلی که میتوانم تبدیل کنم چقدر است؟
فایلهای چند مگابایتی روی رایانه رومیزی در یک لحظه تبدیل میشوند. محدودیت، حافظه دستگاه شماست؛ چون کل فایل و نتیجه JSON در همان زبانه مرورگر نگه داشته میشوند.
حریم خصوصی
فایل CSV شما فقط در مرورگر خودتان خوانده و تبدیل میشود. فایلهایی که باز میکنید بارگذاری نمیشوند و هیچ چیزی ذخیره یا به ابزار تحلیلی ارسال نمیشود.