اوسینت جت · کار دقیق با داده‌های عمومی

ورود فایل CSV به اکسل؛ چطور شناسه‌ها را ناخواسته عوض نکنیم؟

فایل را باز می‌کنید و همه‌چیز مرتب است؛ فقط صفر اول چند کد ناپدید شده. همین تغییر کوچک می‌تواند جست‌وجوی شما را به رکورد اشتباه ببرد یا دو ردیف مستقل را یکی کند. پیش از تحلیل، باید مطمئن شوید نرم‌افزار چیزی از سرنخ‌ها کم نکرده است.

تصویر مفهومی ورود نشانه‌های مرتب به یک جدول و افتادن یک نشانه از مسیر جداگانه
تصویر مفهومی: ظاهر مرتب جدول، سالم‌ماندن داده را ثابت نمی‌کند.

CSV در اصل یک فایل متنی است. ستون‌هایش لزوماً به برنامه نمی‌گویند «این یکی کد است» و «آن یکی تاریخ». اکسل ممکن است خودش حدس بزند. اگر حدسش غلط باشد، شما به‌جای دادهٔ منبع، برداشت نرم‌افزار را بررسی می‌کنید.

عدد بودن ظاهر یک کد، دلیل عدد بودن معنای آن نیست

شناسه برای تشخیص یک رکورد است، مقدار برای اندازه‌گیری. جمع‌کردن دو تعداد کالا معنا دارد؛ جمع‌کردن دو شناسهٔ کالا نه. بنابراین کدی مثل 00427 را تا وقتی قواعد سامانهٔ صادرکننده چیز دیگری نگفته، دقیقاً با همان نویسه‌ها نگه دارید.

طبق راهنمای رسمی مایکروسافت، تبدیل خودکار اکسل می‌تواند صفرهای ابتدایی را حذف کند و ذخیرهٔ عددی آن به ۱۵ رقم معنادار محدود است. تغییر قالب سلول پس از حذف اطلاعات، رقم‌های ازدست‌رفته را برنمی‌گرداند.

البته نمایش یک عدد به شکل علمی، به‌تنهایی اثبات خرابی نیست. گاهی فقط عرض ستون کم است. مشکل زمانی روشن می‌شود که مقدار داخل سلول را با متن اصلی مقایسه کنید. یک ستون عریض هم ممکن است عددِ تغییرکرده را خیلی تمیز نشان بدهد.

اول با این پنج ردیف تمرین کنید

داده‌های زیر کاملاً آموزشی و ساختگی‌اند. کدها به شخص، حساب یا پروندهٔ واقعی تعلق ندارند. این متن را با کدگذاری UTF-8 و پسوند .csv ذخیره کنید. برای آزمایش از یک کپی استفاده کنید و نسخهٔ اول را دست‌نخورده نگه دارید.

record_id,label,raw_reference
00427,"انبار، شرق",12345678901234567
427,انبار غرب,12345678901234568
00008,اتاق بایگانی,03-04
1E10,کارگاه,00091
09,مخزن,00092

باید پنج ردیف داده و سه ستون داشته باشید. در این نمونه، جداکنندهٔ ستون‌ها ویرگول انگلیسی است؛ ویرگول فارسی در نام انبار بخشی از متن است. دو مرجع بلند فقط در رقم آخر فرق دارند. همچنین 03-04 را عمداً «مرجع خام» گذاشته‌ایم، نه تاریخ؛ 1E10 هم کد است، نه عدد توان‌دار.

چه چیزی را ببینیم؟نتیجهٔ درستاشتباه چه پیامدی دارد؟
دو شناسهٔ اول00427 با 427 یکی نشده باشد.ممکن است دو رکورد در مرحلهٔ حذف تکراری‌ها ادغام شوند.
مرجع‌های ۱۷ رقمیتمام رقم‌ها، به‌ویژه رقم آخر، حفظ شده باشد.جست‌وجو با کدی انجام می‌شود که اصلاً در منبع نبوده است.
مرجع ردیف سوم03-04 همچنان همان متن باشد.یک رشتهٔ مبهم بی‌دلیل به تاریخ تبدیل می‌شود.
شناسهٔ ردیف چهارم1E10 بدون تغییر مانده باشد.برنامه ممکن است کد را عدد علمی برداشت کند.
نام انبارمتن فارسی خوانا و در یک سلول باشد.کدگذاری یا مرزبندی نادرست، نسبت ستون‌ها را خراب می‌کند.

علامت نقل‌قول در CSV همیشه به معنی «این را متن نگه دار» نیست. یکی از کارهایش مشخص‌کردن مرز فیلدی است که داخلش جداکننده وجود دارد. توضیح قالب CSV در RFC 4180 این تفاوت را روشن می‌کند. اگر فیلد نقل‌قول‌شده چند خط داشته باشد، شمارش سادهٔ خط‌ها هم تعداد رکوردها را درست نشان نمی‌دهد.

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

در اکسل از Data → From Text/CSV وارد شوید. پیش‌نمایش را برای کدگذاری و جداکننده بررسی کنید و به ویرایشگر تبدیل داده بروید. ستون شناسه و مرجع خام را پیش از بارگذاری روی Text بگذارید. نام دکمه‌ها با نسخه فرق می‌کند؛ راهنمای ورود فایل متنی مایکروسافت مسیرهای موجود را توضیح می‌دهد.

فقط به برچسب آخر ستون نگاه نکنید؛ مراحل تبدیل را هم ببینید. اگر یک مرحلهٔ قبلی کد را عدد کرده و رقمش را از بین برده باشد، تبدیل دوباره به Text همان نسخهٔ ناقص را نگه می‌دارد. مرحلهٔ زودهنگام را حذف یا اصلاح کنید و داده را دوباره از فایل اصلی بخوانید. سپس آزمایش پنج‌ردیفی را تکرار کنید.

در LibreOffice Calc، پنجرهٔ Text Import امکان انتخاب کدگذاری، جداکننده و نوع هر ستون را می‌دهد. ستون‌های مربوط را در پیش‌نمایش انتخاب و صریحاً Text کنید. خاموش‌کردن Detect special numbers به‌تنهایی کافی نیست؛ رشته‌های عددی معمولی همچنان ممکن است تبدیل شوند. جزئیات در راهنمای رسمی ورود متن در Calc آمده است.

اگر حروف فارسی به علامت‌های ناخوانا تبدیل شده‌اند، از روی حدس اصلاحشان نکنید؛ کدگذاری واقعی منبع را پیدا کنید. برای بازکردن داده نیز نیازی به اجرای محتوای ناشناس یا فعال‌کردن ارتباطات خارجی فایل نیست.

نسخهٔ خام را از کلید مقایسه جدا کنید

بعد از ورود سالم، برای پاک‌سازی یک ستون تازه بسازید. مثلاً ستون «شناسهٔ خام» کنار «کلید مقایسه» بماند. قاعدهٔ تبدیل، نشانی منبع و تاریخ دریافت را بنویسید. این کار ساده اجازه می‌دهد نفر بعدی بفهمد کدام بخش را ناشر داده و کدام بخش تصمیم شما بوده است.

حذف فاصلهٔ ابتدا و انتهای یک کد ممکن است با قواعد منبع سازگار باشد؛ حذف همهٔ خط‌تیره‌ها لزوماً چنین نیست. تبدیل تمام کدها به عدد هم وقتی صفر ابتدایی معنا دارد، اشتباه است. اگر یکتایی شناسه به کشور، سامانه یا نوع دفتر ثبت وابسته است، آن مشخصه را همراه کد نگه دارید.

پیش از اتصال دو جدول، تعداد تکرار هر کلید را در هر طرف بررسی کنید. دو ردیف با یک کلید در جدول اول و سه ردیف با همان کلید در جدول دوم می‌تواند شش ترکیب بسازد. این شش ردیف، شش رابطهٔ مستقل کشف‌شده نیستند. کلید خالی، تکراری و بدون تطابق را جدا ببینید.

اگر صفرها یا رقم‌ها از قبل از بین رفته‌اند

راه قابل اتکا، برگشت به دانلود اصلی و ورود دوباره است. تعداد صفرها را حدس نزنید. اگر سند رسمی منبع طول ثابتی برای کد تعریف کرده، می‌توانید از آن برای یک اصلاح مستند کمک بگیرید؛ اما مقدار اصلاح‌شده باید دوباره با رکورد اصلی تطبیق داده شود. رقم ازدست‌رفته به‌دلیل محدودیت دقت، با تغییر فونت یا قالب نمایشی بازیابی نمی‌شود.

اگر نسخهٔ اصلی را ندارید، ستون آسیب‌دیده را نامطمئن علامت بزنید و نسخهٔ معتبر تازه بگیرید. رابطه‌ای که بر پایهٔ کد بازسازی‌شده پیدا شده، نباید بی‌سروصدا «تأییدشده» وارد گزارش شود.

خروجی مفید این کار چیست؟

کنار فایل تحلیل، یک یادداشت کوتاه نگه دارید: نام و منبع فایل اصلی، کدگذاری، جداکننده، ستون‌های Text، نتیجهٔ آزمایش، قواعد پاک‌سازی و اشکال‌های حل‌نشده. اگر دوباره CSV خروجی گرفتید، یک کپی از آن را به‌صورت متن ببینید و ورود بعدی را هم امتحان کنید.

حالا اگر شناسهٔ سالم به یک پرسش دربارهٔ کسب‌وکار رسید، همان رشته و منبعش را در مسیر بررسی شرکت در اوسینت جت مطرح کنید. روشن بنویسید چه ارتباطی باید بررسی شود. آماده‌بودن جدول به‌خودی‌خود ارتباط دو شرکت را ثابت نمی‌کند. برای مستندکردن نتیجه، قالب گزارش تحقیق کمک می‌کند مشاهده، تبدیل داده و برداشت نهایی جدا بمانند.

ادامهٔ آموزش عملی اوسینت

انتشار: ۱۰ اکتبر ۲۰۲۶ · تحریریه اوسینت جت

پیشنهاد اصلاح · English version