Hieroglyphs در Excele چگونه به تعمیر. اگر پرونده صادرات CSV شخصیت های روسی را نشان نمی دهد چه؟ تغییر رمزگذاری در اکسل

با نیاز به تغییر رمزگذاری متن، کاربران که مرورگرها را انجام می دهند، ویراستاران و پردازنده های متن اغلب مواجه می شوند. با این حال، هنگام کار در جدول پردازنده اکسل، چنین نیازی نیز ممکن است رخ دهد، زیرا این برنامه نه تنها اعداد را پردازش می کند، بلکه متن را نیز پردازش می کند. بیایید آن را شکل دهیم چگونگی تغییر رمزگذاری در Excele.

درس: رمزگذاری در مایکروسافت کلمه


رمزگذاری متن - این مجموعه از عبارات دیجیتال الکترونیکی است که به آن ها قابل درک به شخصیت های کاربر تبدیل شده است. انواع مختلفی از رمزگذاری وجود دارد که هر کدام دارای قوانین و زبان خاص خود هستند. مهارت برنامه به رسمیت شناختن یک زبان خاص و ترجمه آن به کسانی که قابل فهم برای نشانه های شخصی معمولی (حروف، اعداد، شخصیت های دیگر) تعیین می کند، تعیین می کند که آیا برنامه قادر خواهد بود با یک متن خاص کار کند یا خیر. در میان کدگذاری متن محبوب باید به شرح زیر باشد:

  • Windows-1251؛
  • KOI-8؛
  • ASCII؛
  • ANSI؛
  • uks-2؛
  • UTF-8 (یونیکد).

نام خانوادگی شایع ترین در میان کدگذاری ها در جهان است، زیرا به عنوان یک نوع استاندارد جهانی محسوب می شود.

اغلب برنامه خود را به رسمیت می شناسد رمزگذاری و به طور خودکار به آن را تغییر می دهد، اما در برخی موارد کاربر باید ظاهر خود را مشخص کند. فقط پس از آن می تواند به درستی با نمادهای کد شده کار کند.

بیشترین تعداد مشکلات مربوط به رمزگشایی رمزگذاری از برنامه اکسل زمانی رخ می دهد که شما سعی می کنید فایل های CSV یا صادرات را باز کنید فایل های TXT. اغلب، به جای نامه های معمولی هنگامی که این فایل ها را از طریق اکسل باز می کنید، می توانیم مشاهده کنیم نمادهای غیر قابل درک، به اصطلاح "Krakozhebra". در این موارد، کاربر باید دستکاری های خاصی را انجام دهد تا برنامه را به طور صحیح نمایش داده شود. راه های متعددی برای حل این مشکل وجود دارد.

روش 1: تغییر رمزگذاری با استفاده از دفترچه یادداشت ++

متاسفانه، یک ابزار کامل که به شما اجازه می دهد به سرعت رمزگذاری را در هر نوع متون از اکسل تغییر دهید. بنابراین، لازم است از راه حل های چند مرحله ای برای این منظور استفاده کنید یا برای کمک به آن استفاده کنید. برنامه های شخص ثالث. یکی از راه های قابل اطمینان ترین استفاده از ویرایشگر متن Notepad ++ است.


با اينكه این روش بر اساس استفاده از نرم افزار شخص ثالث، یکی از ساده ترین گزینه ها برای بازنویسی محتویات فایل ها برای اکسل است.

روش 2: کاربرد جادوگر متن

علاوه بر این، شما می توانید تبدیل و استفاده از ابزار برنامه داخلی، یعنی جادوگران متن را ایجاد کنید. عجیب و غریب به اندازه کافی این ابزار پیچیده تر از اعمال برنامه شخص ثالثدر روش قبلی شرح داده شده است.

روش 3: صرفه جویی در یک فایل در یک رمزگذاری خاص

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


این سند بر روی هارد دیسک یا رسانه های قابل جابجایی در کدگذاری شما شناسایی می شود. اما شما باید در نظر بگیرید که در حال حاضر همیشه اسناد ذخیره شده در اکسل در این کدگذاری ذخیره خواهد شد. به منظور تغییر آن، شما باید دوباره بروید. "پارامترهای سند وب" و تغییر تنظیمات

راه دیگری برای تغییر تنظیمات رمزگذاری متن ذخیره شده وجود دارد.

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

تاریخچه این فرمت حداقل 30 سال است. اما حتی در حال حاضر، در دوران کمک XML، CSV هنوز هم برای بارگذاری و دانلود مقادیر زیادی از داده ها استفاده می شود. و، با وجود این واقعیت که فرمت خود را کاملا در RFC توضیح داده شده است، هر کدام آن را به شیوه خود درک می کند.

در این مقاله، من سعی خواهم کرد که دانش موجود در مورد این فرمت را خلاصه کنم، خطاهای معمول را نشان می دهد، و همچنین نشان دادن مشکلات مربوط به مثال منحنی واردات واردات و صادرات در مایکروسافت آفیس. 2007. من همچنین نشان خواهم داد که چگونه این مشکلات را از بین ببرم (از جمله تبدیل اتوماتیک انواع اکسل در Datetime و شماره) هنگام باز کردن. CSV

شروع کنید با این واقعیت که فرمت CSV در واقع سه فرمت متن متفاوت است که نمادها را متفاوت می دانند: در واقع CSV خود (مقادیر جدا شده با کاما - مقادیر تقسیم شده توسط کاما)، TSV (مقادیر جدا شده از تب - مقادیر جدا شده توسط زبانه ها) و SCSV (مقادیر جدا شده از Semicolon - مقادیر جدا شده توسط semicolon). در زندگی، هر سه ممکن است یک CSV نامیده شود، نماد جدا کننده در بهترین حالت هنگام صادرات یا واردات انتخاب شده است، و اغلب آن "دوخته شده" در داخل کد است. این باعث ایجاد مشکلات زیادی در تلاش برای کشف کردن می شود.

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

مایکروسافت اکسل ابزار صادرات به CSV و در مایکروسافت چشم انداز - واردات مناسب. چه چیزی می تواند آسان تر باشد - یک فایل، "باران" ساخته شده است برنامه پستی و مورد انجام شده است؟ مهم نیست که چگونه.

ایجاد یک نشانه تست در اکسل:

... و اجازه دهید سعی کنیم آن را به سه فرمت متن صادر کنیم:

چه نتیجه ای این است که ما از این کار انجام می دهیم؟ .. این واقعیت که مایکروسافت "CSV (Comma-Comma)" نامیده است، در واقع یک فرمت با جداساز کاما است. فرمت مایکروسافت به شدت ویندوز 1251 است. بنابراین، اگر شما دارای شخصیت های یونیکد در اکسل هستید، آنها در خروجی CSV به علامت سوال ظاهر می شوند. همچنین، ترجمه های رشته ها همیشه یک جفت نمادها هستند، این واقعیت است که مایکروسافت احمقانه در هر جایی که او یک نقطه کاما را می بیند، نقل قول می کند. همچنین این که اگر شخصیت های یونیکد را نداشته باشید، می توانید در فایل ذخیره کنید. همچنین این یونیکد تنها توسط UTF-16 پشتیبانی می شود و نه UTF-8، که به شدت منطقی خواهد بود.

حالا بیایید ببینیم که چگونه چشم انداز به آن نگاه می کند. بیایید سعی کنیم این فایل ها را از آن با مشخص کردن منابع داده مشابه وارد کنیم. Outlook 2007: فایل -\u003e واردات و صادرات ... -\u003e واردات از یک برنامه یا فایل دیگر. بعد، فرمت داده را انتخاب کنید: "مقادیر تقسیم شده توسط کاما (ویندوز)" و "مقادیر جدا شده توسط تب (ویندوز)".

دو محصول مایکروسافت یکدیگر را درک نمی کنند، آنها هیچ فرصتی برای عبور از آن ندارند فایل متنی داده های ساخت یافته به منظور همه چیز برای کار، "رقص با یک برنامه نویس تامورین" مورد نیاز است.

ما به یاد می آوریم که مایکروسافت اکسل می تواند با فایل های متنی کار کند، داده های وارداتی از CSV را وارد کند، اما در نسخه 2007 آن را بسیار عجیب و غریب می کند. به عنوان مثال، اگر شما به سادگی فایل را از طریق منو باز کنید، بدون تشخیص فرمت، به سادگی به عنوان یک فایل متنی، به طور کامل در ستون اول قرار می گیرد. اگر شما دوبار کلیک بر روی CSV، اکسل دریافت فرمان دیگری و واردات CSV را به عنوان آن را، بدون نیاز به سوالات اضافی. گزینه سوم - قرار دادن یک فایل به ورق فعلی. در این رابط، شما می توانید تقسیم کنندگان را سفارشی، بلافاصله سازمان دیده بان آنچه اتفاق افتاده است. اما یک چیز این است: آن را به شدت کار می کند. به عنوان مثال، اکسل انتقال نقل قول خطوط داخل میدان را درک نمی کند.

علاوه بر این، عملکرد حفاظتی مشابه در CSV، از طریق رابط و از طریق ماکرو، به روش های مختلفی کار می کند. گزینه ای با ماکرو به تنظیمات منطقه ای نگاه نمی کند.

استاندارد CSV به گونه ای، متاسفانه، نه، اما، در عین حال، به اصطلاح وجود دارد. یادداشت این RFC 4180 2005، که در آن همه چیز کاملا هوشمندانه توصیف شده است. برای عدم وجود هر چیزی بیشتر، برای پیوستن به حداقل RFC. اما برای سازگاری با اکسل، لازم است که اجتماعی خود را در نظر بگیریم.

  • بین ردیف ها - انتقال رشته CRLF [به نظر من، آن را به ارزش محدود به دو بایت، I.E. مانند CRLF (0 × 0d، 0 × 0a) و CR 0 × 0D]
  • تقسیم کنندگان - کاما، در انتهای خط نباید کاما باشد،
  • در آخرین ردیف، CRLF مورد نیاز نیست،
  • خط اول می تواند یک رشته هدر باشد (در همان زمان مشخص نشده است)
  • فضاهای اطراف جدا کننده کاما نادیده گرفته می شوند.
  • اگر مقدار شامل CRLF، CR، LF (نمادهای رشته ای)، نقل قول دوگانه یا کاما (جدا کننده میدان) باشد، نتیجه گیری ارزش در نقل قول ها مورد نیاز است. در غیر این صورت، مجاز است
  • کسانی که. ترجمه های مجاز خطوط در داخل میدان. اما چنین مقادیر زمینه باید پیکربندی شود،
  • اگر نقل قول های دوگانه درون بخش نقل قول وجود داشته باشد، از نقل قول های خاص نقل قول های CSV استفاده می کند - تکثیر آنها.

در اینجا در نماد abnf توصیف فرمت:

File \u003d Record * (CRLF Record) Header \u003d name * (نام کاما) Record \u003d Fired * (Field Comma) name \u003d field field \u003d (فرار / غیر فرار) فرار \u003d dquote * (textdata / comma / cr / lf / 2dquote ) dquote غیر فرار \u003d * textdata comma \u003d٪ x2c dquote \u003d٪ x22 lf \u003d٪ x0a crlf \u003d cr lf textdata \u003d٪ x20-21 /٪ x23-2b /٪ x2d-7e

همچنین، هنگام اجرای فرمت، باید به یاد داشته باشید که از آنجا که هیچ اشاره گر به تعداد و نوع ستون ها وجود ندارد، زیرا هیچ الزامی برای قرار دادن عنوان وجود ندارد، در اینجا کنوانسیون هایی وجود دارد که شما باید فراموش نکنید:

  • یک مقدار رشته از اعداد که در نقل قول محصور نشده است می تواند توسط برنامه به عنوان عددی درک شود، به همین دلیل اطلاعات ممکن است از دست داده شود، به عنوان مثال، صفر پیشرو،
  • تعداد مقادیر در هر ردیف ممکن است متفاوت باشد و باید به درستی این وضعیت را مدیریت کند. در بعضی از شرایطی که باید به کاربر هشدار دهید، در دیگران - ایجاد ستون های اضافی و پر کردن آنها مقادیر خالی. شما می توانید تصمیم بگیرید که تعداد ستون ها توسط عنوان تعیین شده است، و شما می توانید آنها را به صورت پویا اضافه کنید، به عنوان واردات CSV،
  • نقل قول های سریع از طریق "اسلش" نه با توجه به استاندارد، این کار را انجام ندهید.
  • از آنجا که هیچ زمینه ای از زمینه ها وجود ندارد، هیچ الزامی برای آنها وجود ندارد. تقسیم کننده های کل و بخش های کسری در کشورهای مختلف متفاوت هستند و این به این واقعیت منجر می شود که همان CSV، که توسط نرم افزار استفاده می شود، "درک" در یک تبعید، از سوی دیگر است. از آنجا که مایکروسافت آفیس بر روی منطقه تمرکز دارد تنظیمات ویندوزو هر چیزی می تواند باشد. در روسیه، نشان داده شده است که جداساز کاما است
  • اگر CSV از طریق منوی "داده" باز نیست، اما به طور مستقیم، پس از آن اکسل هر گونه سوال را مشخص نمی کند، و چگونه به نظر می رسد درست است. به عنوان مثال، یک میدان با ارزش 1.24 او به طور پیش فرض به عنوان "24 ژانویه"
  • اکسل صفر را می کشد و حتی زمانی که مقدار در نقل قول ها نشان داده می شود، انواع را ایجاد می کند. این کار را نکنید، این اشتباه است. اما به منظور دور زدن این مشکل اکسل، شما می توانید یک "هک" کوچک را ایجاد کنید - مقدار برای شروع از علامت "علامت برابر"، پس از آن ممکن است در نقل قول هایی که باید بدون تغییر فرمت انتقال داده شود، قرار دهید.
  • اکسل دارای متخصص "برابر" است که در CSV به عنوان یک شناسه فرمول در نظر گرفته می شود. به این ترتیب، اگر آن را در CSV \u003d 2 + 3 ملاقات، آن را دو و سه برابر خواهد شد و نتیجه به سلول نوشته شده است. با توجه به استاندارد، او نباید این کار را انجام دهد.

مثال CSV معتبر، که می تواند برای آزمایش استفاده شود:

نام خانوادگی، نام، آدرس، شهر / کارکنان، فهرست، فقط یک خط از ایوانوف، ایوان، لنینا 20، مسکو، 08075، "1/3" تایلر، جان، 110 تراس، PA، 20121، "1.24" "پتروف" " کول ""، پتیا، 120 هامبر سنت، NJ، 08075، "1.24" Smirnov، Vasya، "7452 خیابان" "در نزدیکی میدان"، یورک، یورک، 91234، "3-01"، میشا، لنینگراد، 00123، "03-01" "جان" "سر سیاه" "، کلود"، راک، "، میامی ساحل، 00111،" 0000 "سرگئی،

دقیقا همان SCSV:

نام خانوادگی؛ نام؛ نشانی؛ شهر / ایالت؛ فهرست مطالب؛ فقط یک ردیف ایوانوف؛ ایوان؛ لنین 20؛ مسکو؛ 08075؛ "1/3" تایلر؛ جان؛ 110 تراس؛ pa؛ 20121؛ "1.24" پتروف "" کول "" "؛ پتیا؛ 120 هامبر سنت؛ NJ؛ 08075؛ "1.24" Smirnov؛ Vasya؛ "7452 خیابان" "در نزدیکی میدان" "جاده"؛ یورک؛ 91234؛ "3-01"؛ میشا ؛؛ لنینگراد؛ 00123؛ "03-01" "جان" "" "سیاه" "؛ کلود"؛ سنگ؛ ""؛ ساحل میامی؛ 00111؛ "0000" سرگئی ؛؛

اولین پرونده ای که کاما واقعی جدا شده است، توسط V.CSV ذخیره می شود، اکسل در همه چیز درک نمی شود.

فایل دوم که با توجه به منطق SCSV درک شده است و در اینجا می آید:

Excel-I خطاهای وارداتی:

  1. شکاف های اطراف تقسیم بندی ها وجود داشت
  2. آخرین ستون واقعا متوجه نشد، با وجود این واقعیت که داده ها در نقل قول ها. استثنا یک رشته با "پتروف" است - 1.24 به درستی شناخته شده بود.
  3. در این زمینه، شاخص اکسل "صفر پیشرو را کاهش داد.
  4. در زمینه راست آخرین خط، شکاف قبل از نقل قول متوقف شد اشاره به یک متخصص

اگر از قابلیت واردات (داده ها -\u003e از فایل) استفاده کنید و هنگام وارد کردن تمام فیلدها با متن تماس بگیرید، تصویر زیر خواهد بود:

با مشاهده انواع کار، اما در حال حاضر به طور معمول انتقال ردیف ها پردازش نمی شود و مشکل باقی می ماند با صفر پیشرو، نقل قول ها و فضاهای غیر ضروری. بله، و کاربران بسیار باز CSV بسیار ناراحت کننده است.

یک راه موثر وجود دارد که چگونه اکسل زمانی که ما نیازی نداریم، انواع را ارائه نمی دهیم. اما CSV "به طور خاص برای اکسل" خواهد بود. این کار توسط قرار دادن علامت "\u003d" در مقابل نقل قول ها در همه جا انجام می شود، جایی که مشکل با انواع به طور بالقوه می تواند باشد. در عین حال ما شکاف های اضافی را حذف می کنیم.

نام خانوادگی؛ نام؛ آدرس؛ شهر / ایالت؛ شاخص؛ فقط یک خط از ایوانوف؛ ایوان؛ لنین 20؛ مسکو؛ \u003d "08075"؛ \u003d "1/3" تایلر؛ جان؛ 110 تراس؛ \u003d "201211"؛ \u003d "1.24" "petrov" "kul" "؛ پیتر؛ 120 هامبر سنت؛ nj؛ \u003d" 08075 "؛ \u003d" 1.24 "Smirnov؛ Vasya؛" 7452 خیابان " "در نزدیکی میدان" "جاده"؛ York؛ \u003d "91234"؛ \u003d "3-01"؛ میشا ؛؛ لنینگراد؛ \u003d "00123"؛ \u003d "03-01" "" "" "" "" "" "" سر سیاه ""؛ کلود " ؛ سنگ؛ "" ساحل میامی؛ \u003d "00111"؛ \u003d "0000" سرگئی ؛؛

و این چیزی است که اتفاق می افتد اگر ما این فایل را در اکسل باز کنیم:

خلاصه.

برای تولید چنین CSV، که می تواند مورد استفاده قرار گیرد، کاربر باید قادر به ایجاد تنظیمات زیر قبل از صادرات:

  1. کدگذاری را انتخاب کنید. به عنوان یک قاعده، UTF-8، UTF-16، Windows-1251، KOI8-R مهم است. اغلب، گزینه های دیگری وجود ندارد. یکی از آنها باید به طور پیش فرض برود. در صورتی که داده ها حاوی کاراکترهایی هستند که آنالوگ ها را در کدگذاری هدف ندارند، باید کاربر را هشدار دهید که داده ها شکسته شوند؛
  2. جداساز بین زمینه ها را انتخاب کنید. گزینه ها - جدول بندی، کاما، نقطه با کاما. به طور پیش فرض - یک نقطه با کاما. فراموش نکنید که اگر جداساز در متن وارد شود، برای ورود به زبانه بسیار دشوار خواهد بود، بلکه یک نماد بی اثر است؛
  3. جداساز بین ردیف را انتخاب کنید (CRLF 0 × 0d 0 × 0A یا CR 0 × 0d)؛
  4. جدا کننده عدد صحیح و کسری برای داده های عددی را انتخاب کنید (نقطه یا کاما).
  5. انتخاب کنید که آیا یک رشته هدر را نمایش دهید؛
  6. انتخاب کنید که چگونه می توان به مقطر های Klotting انجام داد (به ویژه ردیف ها و نقل قول ترجمه ها). در اصل، شما می توانید از استاندارد عقب نشینی کنید و آنها را به عنوان \\ n و \\ "نقل مکان کنید، اما در این مورد، فراموش نکنید که خود را به دست بیاورید \\ n، اگر آنها ملاقات و فراموش نکنید که این کار را با یک گزینه در هنگام صادرات واردات انجام دهید. اما سازگاری به جنگل می رود، زیرا هر طراحی استاندارد RFC استاندارد RFC ... "ABC \\" "، ... شمارش برای یک خطا؛
  7. بسیار ایده آل - قرار دادن یک تیک "برای اکسل" و در نظر گرفتن آن استاندارد های غیر استاندارد که مایکروسافت را ساخته است. به عنوان مثال، مقادیر زمینه های عددی را "شبیه به تاریخ"، در طراحی \u003d "<значение поля>«.
  8. تصمیم بگیرید که آیا "دم" را از جداکنندگان خالی ترک کنیداگر شکل گرفته شود به عنوان مثال، از 20 فیلد تنها اولین اطلاعات را شامل می شود و بقیه خالی هستند. در نتیجه، در خط شما می توانید پس از 19 جداساز اول، یا نه نصب کنید. برای مقادیر زیادی از داده ها، می تواند پردازش میلی ثانیه را ذخیره کند و اندازه فایل را کاهش دهد.

برای ساخت یک وارد کننده خوب و راحت CSV، شما باید موارد زیر را به یاد داشته باشید:

  1. تجزیه و تحلیل فایل باید توسط lexems انجام شود مطابق با دستور زبان بالا یا از کتابخانه های آماده به خوبی اثبات شده استفاده کنید (اکسل در غیر این صورت کار می کند، زیرا مشکل وارد شده است)؛
  2. کاربر را با توانایی انتخاب رمزگذاری ارائه کنید (بالا 4 به اندازه کافی)؛
  3. کاربر را با توانایی انتخاب جداکننده بین زمینه ها ارائه دهید (کاما، جدول بندی، نقطه با کاما)؛
  4. کاربر را با توانایی انتخاب جداکننده بین ردیف ها فراهم کنیداما علاوه بر انواع CR و CRLF، CR یا CRLF باید ارائه شود. این به خاطر این واقعیت است که، به عنوان مثال، اکسل هنگام صادرات یک جدول با ترجمه رشته ها داخل سلول ها، این ردیف ردیف ها را به عنوان CR صادر می کند و ردیف های باقی مانده CRLF را به اشتراک می گذارند. در این مورد، هنگامی که فایل را وارد کنید، هنوز هم، CR وجود دارد یا CRLF؛
  5. کاربر را با توانایی انتخاب یک جداساز بین کل و بخش های کسری ارائه دهید (کاما یا نقطه)؛
  6. با روش تجزیه و تحلیل تصمیم بگیرید - اول ما همه چیز را در حافظه می خوانیم، سپس یک رشته را برای یک رشته پردازش یا پردازش می کنیم. در اولین مورد، ممکن است در مورد دوم، حافظه بیشتری نیاز داشته باشید، خطا در وسط تنها واردات جزئی می شود، که می تواند باعث مشکلات شود. ترجیح دادن اولین گزینه

رائوف علی اف،
معاون مدیر فنی Mail.ru گروه

CSV (مقادیر جدا شده کاما) یک فرمت رایج برای ذخیره داده های جدولی (عددی و متن) به عنوان یک متن ساده است. این فرمت فایل ها محبوب است و زندگی به دلیل این واقعیت است که تعداد زیادی از برنامه ها و برنامه های کاربردی CSV را درک می کنند، حداقل به عنوان یک جایگزین فرمت فایل برای واردات / صادرات علاوه بر این، فرمت CSV اجازه می دهد تا کاربر به فایل نگاه کند و بلافاصله یک مشکل را با داده ها پیدا کند، در صورت وجود، جداساز CSV، قوانین استناد و غیره را تغییر دهید. این ممکن است زیرا CSV یک متن ساده است، و حتی یک کاربر بسیار با تجربه، قادر خواهد بود به راحتی آن را بدون آموزش ویژه درک کنید.

در این مقاله ما سریع آموخته ایم و روش های موثر صادرات داده ها از اکسل در CSV و یادگیری نحوه تبدیل شدن فایل اکسل در CSV، حفظ بدون تحریف همه نمادهای ویژه و خارجی. تکنیک های شرح داده شده در مقاله مقاله در تمام نسخه های اکسل 2013، 2010 و 2007.

نحوه تبدیل فایل اکسل به CSV

اگر می خواهید فایل اکسل را به هر برنامه دیگر صادر کنید، به عنوان مثال، در دفترچه آدرس چشم انداز یا پایگاه داده دسترسی به داده ها، پیش از تبدیل اکسل به فایل CSV، و سپس فایل را وارد کنید. .csv به برنامه دیگری در زیر داده شده است گام به گام راهنماینحوه صادرات کتابچه راهنمای اکسل به فرمت CSV با استفاده از ابزار اکسل - " ذخیره به عنوان».

اظهار نظر: تمام فرمت های فوق ذکر شده تنها یک ورق فعال اکسل را ذخیره می کنند.


صادرات از اکسل در CSV با کدگذاری UTF-8 یا UTF-16

اگر یک ورق اکسل حاوی نمادهای ویژه یا خارجی باشد (Tilde، تاکید و مشابه) یا Hieroglyphs، تبدیل ورق اکسل در روش CSV که در بالا توضیح داده شده، کار نخواهد کرد.

واقعیت این است که تیم ذخیره به عنوان > CSV (ذخیره به عنوان\u003e CSV) تمام کاراکترها را به جز ASCII (کد استاندارد آمریکایی برای تبادل اطلاعات) تحریف می کند. و اگر نقل قول های زوج یا تپه های طولانی بر روی ورق اکسل وجود داشته باشد (به عنوان مثال، از آن به اکسل منتقل شده است کلمه سند هنگام کپی / قرار دادن متن) - چنین نمادها نیز خودبخودی خواهند بود.

  • UTF-8. - این یک رمزگذاری جمع و جور تر است که از هر شخصیت از 1 تا 4 بایت استفاده می کند. اغلب توصیه می شود از این فرمت استفاده کنید زمانی که کاراکترهای ASCII در فایل تحت سلطه قرار می گیرند، زیرا اکثر این شخصیت ها نیاز به 1 بایت حافظه دارند. یکی دیگر از مزایای این است که رمزگذاری فایل UTF-8 حاوی تنها کاراکترهای ASCII، از همان فایل ASCII متفاوت نخواهد بود.
  • UTF-16 از 2 تا 4 بایت برای ذخیره هر نماد استفاده می کند. توجه داشته باشید که در همه موارد فایل UTF-16 نیاز به فضای بیشتری در حافظه از فایل UTF-8 دارد. به عنوان مثال، شخصیت های ژاپنی از 3 تا 4 بایت در UTF-8 و از 2 تا 4 بایت در UTF-16 اشغال می کنند. بنابراین، اگر داده ها شامل شخصیت های آسیایی، از جمله ژاپنی، چینی و کره ای، از UTF-16 استفاده می کنند. نقص قابل توجهی از این رمزگذاری این است که به طور کامل با فایل های ASCII سازگار نیست و مورد نیاز است برنامه های ویژه برای نمایش چنین فایل ها. به یاد داشته باشید اگر قصد دارید فایل های حاصل از اکسل را از اکسل وارد کنید.

نحوه تبدیل فایل اکسل به CSV UTF-8

فرض کنید ما یک برگ اکسل با نمادهای خارجی داریم، در مثال ما نامهای ژاپنی است.

برای صادرات این فهرست اکسل به فایل CSV، در حالی که حفظ تمام شخصیت ها، ما موارد زیر را انجام خواهیم داد:


اظهار نظر: نه همه سردبیران متن ساده به طور کامل از شخصیت های یونیکد پشتیبانی نمی کنند، بنابراین برخی از آنها را می توان به عنوان مستطیل نمایش داده می شود. در اغلب موارد، این فایل نهایی را تحت تاثیر قرار نمی دهد، و شما می توانید به راحتی به این توجه نکنید یا یک ویرایشگر پیشرفته تر را انتخاب کنید، به عنوان مثال، دفترچه یادداشت ++.

  1. از آنجا که در فایل یونیکد ما، برگه به \u200b\u200bعنوان جداساز استفاده می شود، و ما می خواهیم آن را به CSV تبدیل کنیم (جداساز کاما)، پس از آن لازم است جایگزین نمادهای برگه برای کاما شود.

اظهار نظر: اگر نیازی به نیاز دقیق برای دریافت یک فایل با delimiters وجود ندارد - کاما، و شما نیاز به هر فایل CSV که اکسل می تواند درک کند، پس از آن این مرحله می تواند از بین برود، زیرا مایکروسافت اکسل عالی فایل ها را با جداسازی می کند.

اظهار نظر: اگر فایل شما برای استفاده از فرمت خارج از اکسل و UTF-8 در نظر گرفته شود، یک الزام اجباری است، هیچ تغییری در ورق را ایجاد نکنید و دوباره آن را به اکسل ندهید، زیرا می تواند به مشکلات خواندن برنامه نویسی منجر شود. اگر بخشی از داده ها در اکسل نمایش داده نشود، همان فایل را در دفترچه یادداشت باز کنید و به داده ها اصلاح کنید. فراموش نکنید که فایل را در فرمت UTF-8 ذخیره کنید.

نحوه تبدیل فایل اکسل به CSV UTF-16

صادرات به فایل CSV UTF-16 بسیار سریع تر و راحت تر از UTF-8 است. واقعیت این است که اکسل به طور خودکار از فرمت UTF-16 استفاده می کند هنگام صرفه جویی در فایل به عنوان متن یونیکد (متن یونیکد).

برای انجام این کار، فایل را با استفاده از ابزار ذخیره کنید ذخیره به عنوان (ذخیره به عنوان) در اکسل و سپس در ویندوز اکسپلورر تغییر فرمت فایل ایجاد شده به .csv. آماده!

اگر شما نیاز به یک فایل CSV با یک semicolon یا یک semicolon به عنوان یک جداساز، تمام زبانه ها را در کاما یا semicolons، به ترتیب، در دفترچه یادداشت یا در هر دیگر جایگزین کنید ویرایشگر متن در انتخاب شما (قبلا در این مقاله دستورالعمل های دقیق، چگونه انجام می شود).

راه های دیگر برای تبدیل فایل های اکسل در CSV

روش های بالا برای صادرات داده ها از اکسل در CSV (UTF-8 و UTF-16) جهانی هستند، I.E. مناسب برای کار با هر شخصیت خاص و در هر نسخه اکسل از 2003 تا 2013.

بسیاری از راه های دیگر برای تبدیل داده ها از فرمت اکسل به CSV وجود دارد. بر خلاف تصمیمات فوق، این روش ها به یک فایل UTF-8 تمیز نمی شود (این امر نگران کننده نیست، که می تواند فایل های اکسل را به چندین گزینه رمزگذاری UTF صادر کند). اما در اغلب موارد، فایل حاصل از مجموعه صحیح از شخصیت ها، که پس از آن می تواند بدون دردسر به فرمت UTF-8 با استفاده از هر ویرایشگر متن تبدیل شود.

ما فایل اکسل را در CSV با استفاده از Google Tables تبدیل می کنیم

همانطور که معلوم شد، ممکن است به سادگی فایل اکسل را به CSV تبدیل کنید با استفاده از Google Tables. با توجه به اینکه Google Drive در حال حاضر بر روی کامپیوتر شما نصب شده است، 5 مرحله ساده را انجام دهید:

نکته: اگر فایل اکسل نسبتا کوچک باشد، پس برای صرفه جویی در وقت، می توانید داده ها را به جدول Google با استفاده از کپی / inserer منتقل کنید.


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

ذخیره file.xlsx به عنوان .xls و سپس تبدیل به فایل CSV

این روش به هیچ نظری اضافی نیاز ندارد، زیرا همه چیز از نام واضح است.

من این تصمیم را بر روی یکی از انجمن های اختصاص یافته به اکسل یافتم، دیگر به یاد نمی آورم. صادقانه، من هرگز از این روش استفاده نکردم، اما، با توجه به بررسی بسیاری از کاربران، برخی نمادهای ویژه از دست رفته اگر شما مستقیما از .xlsx که در .csvاما اگر اولین بار باقی بماند .xlsx ذخیره به عنوان .xlsو سپس چگونه .csv، مانند ما .

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

ذخیره فایل اکسل به عنوان CSV با استفاده از OpenOffice

OpenOffice یک بسته نرم افزاری باز است. کد منبعاین شامل یک برنامه کاربردی برای کار با جداول است که کاملا با وظیفه صادرات داده ها از فرمت اکسل در CSV مقابله می کند. در حقیقت، این برنامه دسترسی به تعداد بیشتری از پارامترها را در هنگام تبدیل جداول به فایل های CSV (کدگذاری، تقسیم کننده ها، و غیره) فراهم می کند تا از اکسل و ورق های گوگل ترکیب شود.

فقط فایل اکسل را در OpenOffice Calc باز کنید، کلیک کنید فایل > ذخیره به عنوان (فایل\u003e ذخیره به عنوان) و نوع فایل را انتخاب کنید متن CSV (متن CSV).

در شوی بعدی پیشنهاد شده است که مقادیر پارامتر را انتخاب کنید رمزگذاری (مجموعه های شخصیتی) و جدا کننده میدان (تعریف فیلد). البته، اگر ما می خواهیم یک فایل CSV UTF-8 را با کاما به عنوان جداساز ایجاد کنیم، سپس انتخاب کنید UTF-8. و وارد کردن کاما (،) در زمینه های مربوطه. پارامتر جداساز متن (Delimiter متن) معمولا بدون تغییر - نقل قول ها ("). بعدی کلیک کنید خوب.

به همان شیوه ای برای تبدیل سریع و بدون درد از اکسل در CSV، شما می توانید از یک برنامه دیگر - LibreOffice استفاده کنید. موافقید، اگر مایکروسافت اکسل فرصتی برای سفارشی کردن پارامترها در هنگام ایجاد فایل های CSV فراهم کرد، خوب خواهد بود.

در این مقاله، من به من گفتم روش های تبدیل فایل های اکسل در CSV. اگر بیشتر آشنا هستید روش های موثر صادرات از اکسل در CSV، به ما در مورد آن در نظرات بگویید. با تشکر از شما برای توجه!

CSV ( مقادیر کاما سپرده شده - مقادیر جدا شده توسط کاما) است فرمت متنطراحی شده برای نشان دادن داده های جدولی. به عنوان مثال، برای صادرات داده ها مورد استفاده قرار می گیرد، اگر حجم آنها به اندازه کافی بزرگ باشد. با این حال، مشکل اغلب اتفاق می افتد: فایل CSV ایجاد شده ممکن است نمادهای الفبای روسی را نشان ندهد یا آنها را تحریف کند. با این حال، این مشکل به راحتی حل می شود.

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

مشکل به روش ساده زیر حل می شود:

1. اجرای اکسل.
2. صفحه "داده → از متن" را باز کنید (در اکسل موضعی، آیتم های منو را می توان در غیر این صورت نام برد).
3. فایل CSV خود را باز کنید و در پنجره جادوگر متن، جداساز مورد نیاز را نصب کنید و رمزگذاری کنید (استفاده از "UTF-8").

دستورالعمل برای حل همان مشکل برای زبان روسی اکسل 2007

1. ایجاد کنید سند جدید (کتاب) در اکسل

2. در منوی "داده / خروجی"، وارد کردن "از متن" را انتخاب کنید. در پنجره انتخاب فایل، فایل CSV خود را انتخاب کنید. اکسل به طور خودکار Master Master (Import) را راه اندازی خواهد کرد.

3. در تنظیم "فرمت فایل"، "Unicode (UTF-8) را انتخاب کنید":

5. سپس روی Finish کلیک کنید. برای انتخاب مناسب مشکلات برنامه نویسی با صفحه نمایش کافی از کاراکترهای سیریلیک نباید باشد.

و چیزی مهم و ضروری ...

سایت ما برای شما مفید بود؟

من یک فایل اکسل دارم که دارای برخی از شخصیت های اسپانیایی (Tildes، و غیره) چیزی است که من باید به فایل CSV تبدیل کنم تا به عنوان یک فایل وارد شده استفاده کنم. با این حال، هنگامی که من هر دو CSV را ذخیره می کنم، شخصیت های "ویژه" اسپانیایی را که شخصیت های ASCII نیستند، تحریف می کنند. به نظر می رسد که آن را نیز با نقل قول های چپ و راست و خطوط طولانی رخ می دهد، که به نظر می رسد از کاربر منبع ایجاد یک فایل اکسل در Mac است.

از آنجا که CSV فقط یک فایل متنی است، من مطمئن هستم که می تواند رمزگذاری UTF8 را پردازش کند، بنابراین فرض میکنم این یک محدودیت اکسل است، اما من به دنبال راهی برای از دست دادن از اکسل در CSV هستم و شخصیت های غیر از ASCII را ذخیره می کنم.

30 پاسخ

توجه: مراقب داده های محرمانه از Google Sheets باشید.

پس از صرفه جویی در CSV تحت اکسل در خط فرمان قرار دادن:

iconv -f cp1250 -t utf-8 file-encoded-cp1250.csv\u003e file-encoded-utf8.csv

(فراموش نکنید که CP1250 را با رمزگذاری خود جایگزین کنید).

به سرعت کار می کند و عالی است فایل های بزرگ، مانند پایگاه داده های پستی که نمی تواند به Googledocs وارد شود (محدود کردن 400.000 سلول).

حفظ کردن چهارشنبه ویندوز، صرفه جویی و کار با فایل، به طور معمول، در اکسل، اما پس از آن فایل اکسل ذخیره شده را در Gnome Gnumeric باز کنید (به صورت رایگان). جدول Gnome Gnumeric را به عنوان CSV ذخیره کنید، که - برای من در هر صورت، آن را به عنوان UTF-8 CSV ذخیره می کند.

یک راه ساده برای انجام این کار این است: دانلود Open Office ()، صفحه گسترده را دانلود کنید و فایل اکسل را باز کنید (.xls or.xlsx). سپس آن را فقط آن را به عنوان یک فایل متن CSV ذخیره کنید، و پنجره باز می شود برای ذخیره فرمت فعلی و یا ذخیره به عنوان. فرمت ODF. انتخاب "ذخیره فرمت فعلی" و در یک پنجره جدید، گزینه ای را انتخاب کنید که برای شما بهتر عمل می کند، مطابق با زبان که فایل شما نوشته شده است. برای اسپانیایی، اروپای غربی را انتخاب کنید (Windows-1252 / Winlatin 1) و فایل فقط خوب کار می کند. اگر Unicode را انتخاب کنید (UTF-8)، آن را با شخصیت های اسپانیایی کار نمی کند.

من همچنین به یک مشکل مشابه رفتم، اما برای این یک راه حل ساده وجود دارد.

  1. فایل XLSX را در اکسل 2016 یا بالاتر باز کنید.
  2. در "ذخیره به عنوان" این گزینه را انتخاب کنید: "(CSV UTF-8 (با جداساز کاما) *. CSV)"

این کاملا کار می کند و فایل CSV ایجاد شده است، که می تواند به هر کدام وارد شود نرم افزار. من این فایل CSV را به پایگاه داده SQLite وارد کردم و با تمام کاراکترهای یونیکد خوب کار می کنم.

من یک اسکریپت پایتون کوچک نوشتم که می تواند ورق های UTF-8 را صادر کند.

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

#! / usr / bin / env python # صادرات ورق داده ها از XLSX به CSV از OpenPyxl واردات Load_workbook واردات CSV از سیستم عامل واردات سیستم عامل Reload (SYS) SYS.SETDEDEFAINTECODING ("UTF-8") def get_all_sheets: sheets \u003d workbook \u003d load_workbook excel_file، use_iterators \u003d true، data_only \u003d true) all_worksheets \u003d workbook.get_sheet_names () for worksheet_name در all_worksheets: sheets.append (worksheet_name) برگه های بازگشت csv_from_excel (excel_file، ورق): workbook \u003d load_workbook (excel_file، use_iterators \u003d true، data_only \u003d true درست است) برای worksheet_name در ورق: چاپ ("صادرات" + worksheet_name + "...") سعی کنید: worksheet \u003d workbook.get_sheet_by_name (worksheet_name) به جز keyError: print ("+ worksheet_name) sys.exit (1) your_csv_file \u003d Open (". پیوستن ارزش) wr.writerow (lrow) چاپ ("... انجام شده") your_csv_file.close () اگر نه 2<= len(sys.argv) <= 3: print("Call with " + sys.argv + " ") sys.exit (1) else: sheets \u003d اگر len (sys.argv) \u003d\u003d 3: sheets \u003d list (sys.argv.split ("، ")) else: sheets \u003d get_all_sheets (sys.argv) ادعا ( ورق ها! \u003d هیچ و نه (ورق)\u003e 0) csv_from_excel (sys.argv، ورق)