Jan از یک برنامه برای ایجاد یک فایل CSV استفاده می کند. سپس این فایل برای تجزیه و تحلیل بیشتر در اکسل باز می شود. وقتی Jan روی فایل CSV در ویندوز دوبار کلیک می کند، اکسل شروع می شود و سپس فایل را بارگذاری می کند. مشکل این است که فایل، زمانی که باز می شود، توسط اکسل تجزیه نمی شود. به جای اینکه مقادیر جدا شده با کاما در ستون های مختلف قرار گیرند، هر رکورد در یک ستون ظاهر می شود.
دلیل این رفتار احتمالاً بسیار ساده است و مربوط به فرمتی است که داده ها در فایل CSV توسط برنامه غیر اکسل ذخیره می شوند. برای درک آن، درک اینکه چگونه اکسل فایلهای CSV را باز میکند بسیار مهم است.
هنگامی که یک فایل CSV را در اکسل باز می کنید (چه با دوبار کلیک کردن در ویندوز یا با استفاده از File | Open in Excel)، برنامه با کاماهای موجود در فایل به عنوان جداکننده رفتار می کند. این منطقی است؛ پس از همه، فایل قرار است حاوی مقادیر جدا شده با کاما (CSV) باشد. هنگام باز کردن فایل نمی توانید این فیلتر خودکار را لغو کنید.
بنابراین، چگونه اکسل با داده های دریافتی برخورد می کند؟ اگر فایل CSV حاوی چهار رکورد زیر باشد، برای لحظه ای در نظر بگیرید:
a,b,c,d,e
"a,b,c,d",e
a,"b,c",d,e
"a,b,c,d,e"
تا آنجا که به اکسل مربوط می شود، اولین رکورد دارای پنج فیلد است که با کاما از هم جدا شده اند. رکورد دوم فقط دو فیلد "a,b,c,d" و "e" دارد. گنجاندن علامتهای نقل قول در اطراف "a,b,c,d" باعث میشود اکسل رشته را به عنوان یک واحد گسسته در نظر بگیرد. به عبارت دیگر، اکسل هر کامایی را که ممکن است بین علامتهای نقل قول ظاهر شود، نادیده میگیرد.
با توجه به تأثیری که نشانها نقل قول دارند، احتمالاً میتوانید بفهمید که اکسل چگونه رکوردهای سوم و چهارم را تفسیر میکند. در این حالت رکورد سوم فقط دارای چهار فیلد است و رکورد چهارم تنها دارای یک فیلد واحد تفسیر می شود.
این چه ربطی به فایل CSV دارد که به نظر می رسد اشتباه بارگیری می شود؟ این امکان وجود دارد که برنامه ای که فایل CSV را ایجاد می کند، یک جفت علامت نقل قول در اطراف هر رکورد قرار دهد. این امر باعث میشود که همه چیز در رکورد توسط اکسل به عنوان یک فیلد واحد در نظر گرفته شود، به این معنی که وقتی فایل CSV بارگیری میشود در یک ستون قرار میگیرد.
چند راه برای تأیید این موضوع وجود دارد. اولین مورد این است که به سادگی فایل CSV را با Notepad باز کنید و به هر رکورد نگاه کنید. (روی فایل CSV در ویندوز راست کلیک کنید، Open With | برنامه را انتخاب کنید، سپس Notepad را انتخاب کنید.)
راه دیگر این است که نام فایل CSV را تغییر دهید تا پسوند آن .csv نباشد بلکه txt باشد. هنگامی که انتخاب می کنید این فایل را در اکسل باز کنید، جادوگر وارد کردن متن شروع می شود. Delimited را انتخاب کنید، روی Next کلیک کنید و سپس می توانید ببینید که چه جداکننده هایی انتخاب شده اند. به Text Qualifier توجه کنید. اگر آن را تغییر دهید، می توانید بلافاصله در پایین کادر محاوره ای ببینید که چگونه اکسل رکوردهای فایل ها را تفسیر می کند.
اگر متوجه شدید که علامت نقل قول اضافی در اطراف هر رکورد در فایل CSV وجود دارد، سه کار وجود دارد که می توانید انجام دهید. اولین مورد این است که برنامه ای را که فایل CSV را ایجاد می کند تغییر دهید تا علامت نقل قول اضافی اضافه نکند—بعد می توانید بدون مشکل وارد کنید. دوم این است که ادامه دهید و فایل CSV را در اکسل بارگذاری کنید، به طوری که هر رکورد در ستون A باشد. توجه داشته باشید که علامتهای نقل قول فراگیر از بین رفتهاند و با فرآیند واردات حذف میشوند. این بدان معنی است که اکنون می توانید از جادوگر Text to Columns برای جداسازی داده های ستون A به ستون های جداگانه استفاده کنید.
در نهایت، سومین کاری که می توانید انجام دهید این است که یک ماکرو ایجاد کنید که فایل CSV را باز کرده و آن را برای شما تجزیه می کند. این به ویژه در صورتی مفید است که به مرور زمان بسیاری از فایلهای CSV را باز کنید که دقیقاً فرمت یکسانی دارند. ماکرو شما میتواند به اندازه دلخواه پیچیده باشد، حتی ستونها را قالببندی کند و دادهها را در هنگام وارد کردن پردازش کند. راه های ایجاد ماکروهایی مانند این در شماره های دیگر ExcelTips یافت می شود.