এক্সেলকে কিছু পাঠ্য মানকে স্বয়ংক্রিয়ভাবে তারিখে রূপান্তর করা থেকে বিরত করুন


526

এক্সেল যদি এটিকে একটি তারিখে রূপান্তরিত করার চেষ্টা না করে তবে একটি নির্দিষ্ট ক্ষেত্রের জন্য আমি আমার সিএসভিতে যুক্ত করতে পারি কিনা তা যদি কেউ জানতে পারে?

আমি আমার অ্যাপ্লিকেশন থেকে একটি .csv ফাইল লেখার চেষ্টা করছি এবং মানগুলির মধ্যে একটিতে এমন একটি তারিখের মতো দেখতে যথেষ্ট দেখা যায় যে এক্সেল এটিকে স্বয়ংক্রিয়ভাবে পাঠ্য থেকে একটি তারিখে রূপান্তর করে। আমি আমার সমস্ত পাঠ্য ক্ষেত্রগুলি (একটি তারিখের মতো দেখানো হয়েছে সহ) ডাবল উদ্ধৃতিগুলির মধ্যে রাখার চেষ্টা করেছি, তবে এর কোনও প্রভাব নেই।


120
হ্যাঁ, যখন 10000 ব্যবহারকারীর নামযুক্ত কোনও ফাইলের মধ্যে "এপ্রিল 25" এর মতো একটি থাকে, যা একটি তারিখে রূপান্তরিত হয় এবং অবশেষে "এপ্রিল-25" হিসাবে প্রক্রিয়াজাত হয়, ফলস্বরূপ "ব্যবহারকারী নাম পাওয়া যায় না" ত্রুটি হয়, কারণ আপনি পাননি বাকি পাঠ্যটি রেখে, এক্সেল একক মানকে একটি তারিখে, 4000 রেকর্ডটিকে ফাইলে রূপান্তর করবে বলে আশা করে। কি লম্পট সিএসভি পড়ার কোড; সত্যই, প্রথম এক্স রেকর্ডের উপর ভিত্তি করে টাইপটি অনুমান করার এবং এটির সাথে আটকে থাকার কথা নয়? বা এটি সমস্ত পাঠ্য ছেড়ে দিন। যদি আমি এটি "সাধারণ" হিসাবে ফর্ম্যাট করতে চাই তবে আমি এটি পরে বেছে নিতে পারি। শুরু থেকেই "সাধারণ" ধরে নিয়ে এটি পাঠ্যের ডেটা দুর্নীতির ঝুঁকিপূর্ণ।
ট্রায়ঙ্কো

অনুলিপি এবং পেস্ট করার সময় আমার সমস্যা ছিল। সমস্ত সমাধান সমাধানের জন্য, লক্ষ্য কলামটি নির্বাচন করুন, এটি একটি স্ট্রিং / পাঠ্য বিন্যাসে সেট করুন, তারপরে উত্স অনুলিপি করুন এবং 'কেবলমাত্র মান' দিয়ে একটি বিশেষ পেস্ট (ডান ক্লিক করুন) করুন। মান সংরক্ষণ করে, কোনও তারিখ বিন্যাস নেই।
কাই Noack

84
আমি কেবল যুক্ত করতে চাই যে আমি এক্সেলের এই আচরণটিকে একটি গুরুতর ত্রুটি হিসাবে বিবেচনা করি। এক্সেল আমদানির আগে সিএসভি ফাইলের বিষয়বস্তুগুলি পরিবর্তন করার বিলাসিতা নেই এমন সমস্ত লোকের কী হবে? বা সিএসভি ফাইলে প্রচুর অন্যান্য পরিবর্তন করার পরেও যারা এই সমস্যাটি বুঝতে পারে না তাদের সম্পর্কে কী? এটি এক্সেলের সিএসভি ফাইলগুলির সাথে কাজ করে তোলে mess
রোবগুইনেস

আপনি ডেটাটেবলজেএস ব্যবহার করছেন? কারণ আমি ইতিমধ্যে জানি যে এই এপিআই দিয়ে এটি কীভাবে করা যায়। : যদি আপনি এই প্রয়োজন আপনি এখানে এটা পাওয়া যেতে stackoverflow.com/a/36142043/4241058
রিচার্ড Rebeco

11
ফাইল -> খুলুন -> আমদানি করা কাজটি ব্যবহারের এই সমস্ত সমাধান আমাদের জন্য ঠিক আছে কারণ আমরা জানি আমরা কী করছি তা কিন্তু এটি পৃথিবীর অন্যান্য 99.5% লোকের পক্ষে অকার্যকর যারা ফাইলের সিস্টেমটিকে / এর / ভিতরে থেকে নেভিগেট করতে বোঝেন না for আবেদন। তারা একটি ফাইল দেখে, এটি ব্যবহার করতে তারা এটিতে ডাবল-ক্লিক করে। আমি অফিসিয়াল অ্যাপ্লিকেশন এবং লিখিত কোডটি কীভাবে অফিসিয়াল অ্যাপ্লিকেশনগুলির জন্য ডেটা তৈরি করে এবং / অ্যাপ্লিকেশন / ফাইলটি ব্যবহারের জন্য সন্ধান করতে ব্যবহার করতে পারি তা প্রায় প্রত্যেকেরই ছাড়িয়ে যায় teaching
ব্যবহারকারী 2624417

উত্তর:


355

আমি খুঁজে পেয়েছি যে ডাবল উদ্ধৃতিগুলির আগে একটি '=' লাগানো আপনার পছন্দসইটি সম্পাদন করবে। এটি তথ্যকে পাঠ্য হতে বাধ্য করে।

যেমন। = "2008-10-03", = "আরও পাঠ্য"

সম্পাদনা (অন্যান্য পোস্ট অনুসারে) : জেফিকিন্স দ্বারা চিহ্নিত এক্সেল 2007 বাগের কারণে অ্যান্ড্রু দ্বারা প্রস্তাবিত সমাধানটি ব্যবহার করা উচিত :"=""2008-10-03"""


12
আমি এই উত্তরটি গ্রহণ করছি কারণ 1) আমার সিএসভি ফাইলটি কেবল এক্সেল দ্বারা ব্যবহৃত হবে এবং 2) এটি অ্যাকাউন্টিংয়ের জন্য এবং এতে একটি 'শুরুতে থাকতে পারে না, এবং 3) আমি তাদের চাই না বলে চাই না একটি আমদানি আমি কেবল তাদের সিএসভি খুলতে চাই।

5
গ্রেট! কিন্তু কারণ এক্সেল 2007 বাগ ব্যবহার সমাধান অ্যান্ড্রু দ্বারা প্রস্তাবিত : "=""2008-10-03"""। পোস্ট আপডেট হয়েছে।
টিএমএস

1
পাঠ্যটি খুব দীর্ঘ হলে এক্সেল 2010 এ এটি আমার জন্য কাজ করে না :(
স্টিভ

7
এটি কাজ করার কারণ হ'ল এক্সেল যখন "=" চরিত্রটি দেখে তখন এটি অনুসরণ করে প্রকাশের মূল্যায়ন করার সিদ্ধান্ত নেয়। এই ক্ষেত্রে এক্সপ্রেশনটি কেবল একটি স্ট্রিং আক্ষরিক এবং একটি স্ট্রিং আক্ষরিকের মান স্ট্রিংয়ের বিষয়বস্তু। এইভাবে উদ্ধৃতি চিহ্নগুলি যাদুতে অদৃশ্য হয়ে যায়। আপনি = 1 + 2 + 3 লাগাতে পারেন এবং সিএসভি আমদানির পরে 6 মান পেতে পারেন। সূত্রটি নিজেই আমদানি প্রক্রিয়ায় ধ্বংস হয় না।
লোকোরি

4
এই পদ্ধতির সাথে একটি বড় সমস্যা রয়েছে - আপনি যদি এক্সেল এডিট করুন এবং সম্পাদনা করুন এবং তারপরে সংরক্ষণ করুন এবং আবার খুলুন এই সমস্ত "অদৃশ্য হয়ে যায়
এসিভি

150

আমি জানি এটি একটি পুরানো প্রশ্ন, তবে সমস্যাটি খুব শীঘ্রই দূরে যাচ্ছে না। সিএসভি ফাইলগুলি বেশিরভাগ প্রোগ্রামিং ভাষাগুলি থেকে উত্পন্ন করা সহজ, বরং ছোট, একটি সাধারণ পাঠ্য সম্পাদক এবং সর্বব্যাপী একটি ক্রাঞ্চে মানব-পঠনযোগ্য।

সমস্যাটি কেবল পাঠ্য ক্ষেত্রে খেজুরের সাথে নয় , সংখ্যাগত কিছুও পাঠ্য থেকে সংখ্যায় রূপান্তরিত হয়। উদাহরণস্বরূপ কয়েকটি যেখানে এটি সমস্যাযুক্ত:

  • জিপ / ডাক কোডগুলি
  • টেলিফোন নম্বর গুলো
  • সরকারী আইডি নম্বর

যা কখনও কখনও এক বা একাধিক জিরো (0) দিয়ে শুরু করতে পারে যা সংখ্যায় রূপান্তরিত হয়ে ফেলে দেওয়া হয়। বা মানটিতে এমন অক্ষর রয়েছে যা গাণিতিক অপারেটরগুলির সাথে বিভ্রান্ত হতে পারে (যেমন তারিখগুলি: /, -)।

দুটি ক্ষেত্রে যেটি আমি আগে থেকেই বলেছি যে "প্রিপেন্ডিং =" সমাধানটি ভাবতে পারি নাও হতে পারে আদর্শ হয়

  • যেখানে এমএস এক্সেল ব্যতীত অন্য কোনও প্রোগ্রামে ফাইলটি আমদানি করা হতে পারে (এমএস ওয়ার্ডের মেল মার্জ ফাংশনটি মনে আসে),
  • যেখানে মানব-পঠনযোগ্যতা গুরুত্বপূর্ণ হতে পারে।

এটি প্রায় কাজ করতে আমার হ্যাক

যদি কোনও মানটিতে একটি প্রাক-সংখ্যাসূচক এবং / বা অ-তারিখের অক্ষর যুক্ত হয় তবে মানটি পাঠ্য হিসাবে স্বীকৃত হবে এবং রূপান্তরিত হবে না। একটি মুদ্রনবিহীন অক্ষরটি ভাল হবে কারণ এটি প্রদর্শিত মানকে পরিবর্তন করবে না। তবে, প্লেইন পুরাতন স্পেস ক্যারেক্টার (, গুলি, এএসসিআইআই 32) এটির জন্য কাজ করে না কারণ এটি এক্সেলের মাধ্যমে কেটে যায় এবং তারপরেও মানটি রূপান্তরিত হয়। তবে অন্যান্য বিভিন্ন মুদ্রণ এবং অ-প্রিন্টিং স্পেস ক্যারেক্টার রয়েছে যা ভাল কাজ করবে। সবচেয়ে সহজ তবে সহজ ট্যাব অক্ষর যুক্ত করা (পরে যুক্ত করা) (, t, ASCII 9)।

এই পদ্ধতির সুবিধা:

  • কীবোর্ড থেকে বা মনে রাখা সহজ ASCII কোড (9) সহ,
  • এটি আমদানিকে বিরক্ত করে না,
  • সাধারণত মেল মার্জ ফলাফলগুলি বিরক্ত করে না (টেম্পলেট লেআউটের উপর নির্ভর করে - তবে সাধারণত এটি কেবল একটি লাইনের শেষে একটি প্রশস্ত স্থান যুক্ত করে)। (তবে এটি যদি সমস্যা হয় তবে অন্যান্য অক্ষরগুলি দেখুন যেমন শূন্য-প্রস্থের স্থান (জেডডাব্লুএসপি, ইউনিকোড ইউ + 200 বি)
  • নোটপ্যাড (ইত্যাদি) এ সিএসভি দেখার সময় কোনও বড় বাধা নয়,
  • এবং এক্সেল (বা নোটপ্যাড ইত্যাদি) দ্বারা সন্ধান / প্রতিস্থাপনের মাধ্যমে সরানো যেতে পারে।
  • আপনার সিএসভি আমদানি করার দরকার নেই , তবে এক্সেলের সিএসভি খোলার জন্য কেবল ডাবল-ক্লিক করতে পারেন ।

আপনি যদি ট্যাবটি ব্যবহার করতে না চান এমন কোনও কারণ থাকে তবে উপযুক্ত অন্য কোনও কিছুর জন্য একটি ইউনিকোড টেবিলটি দেখুন।

অন্য একটি বিকল্প

এক্সএমএল ফাইল তৈরি করা হতে পারে, যার জন্য নতুন এমএস এক্সেল সংস্করণ দ্বারা আমদানির জন্য একটি নির্দিষ্ট ফর্ম্যাটও গৃহীত হয় এবং এটি .XLS ফর্ম্যাটের অনুরূপ আরও অনেক বিকল্পের মঞ্জুরি দেয়, তবে এর সাথে আমার অভিজ্ঞতা নেই।

সুতরাং বিভিন্ন অপশন আছে। আপনার প্রয়োজনীয়তা / অ্যাপ্লিকেশন উপর নির্ভর করে এক অন্য চেয়ে ভাল হতে পারে।


সংযোজন

এটি বলা দরকার যে এমএস এক্সেলের আরও নতুন সংস্করণ (2013+) স্প্রেডশিট ফর্ম্যাটে আর কোনও সিএসভি খুলবে না - কারও কর্মপ্রবাহে আরও একটি স্পিডবাম্প এক্সেলকে কম দরকারী করে তোলে ... কমপক্ষে, তার চারপাশের পাওয়ার জন্য নির্দেশাবলী বিদ্যমান। উদাহরণস্বরূপ দেখুন এই স্ট্যাকওভারফ্লো: এক্সেল 2013 এর মধ্যে সঠিকভাবে .csv ফাইলগুলি কীভাবে প্রদর্শিত করবেন?


6
\tআমার বিচ্ছেদ চরিত্রে যুক্ত হওয়ার পরে আমি সঠিক নেতৃস্থানীয় শূন্যগুলি পেয়েছি ;... আপনি এমএস অফিসে অভিশাপ দিচ্ছেন কেন এটি বের করতে আমাকে 2 মিনিটের বেশি সময় নিতে হবে?
মর্টেন জেনসেন

2
সমস্ত মান শেষে \ টি যোগ করা কৌশলটি সত্যই কার্যকর করে। এটি একটি মজাদার কাজ, কিন্তু অনুশীলনে এটি দুর্দান্ত কাজ করে। আমি এটিকে সমান '=' দিয়ে সূত্রের ট্রিকটির চেয়ে পছন্দ করি, কারণ অন্যান্য সরঞ্জামগুলিতে এর সাথে কাজ করা পূর্ববর্তী হতে পারে।
ocroquette

3
আপনার জন্য আমার কৃতজ্ঞতা প্রকাশ করতে পারে এমন পর্যাপ্ত পরিমাণে আপোস্ট নেই। নোটপ্যাড ++ ',' থেকে '\ t, \ t' এ অনুসন্ধান করুন এবং প্রতিস্থাপন করুন (পাশাপাশি প্রথম এবং শেষ কলামগুলির জন্য উপযুক্ত হওয়া) মনোযোগের মতো কাজ করে। ধন্যবাদ।
আসফ

1
আমার মাইএসকিউএল কোয়েরিতে (পিএইচপি এর মাধ্যমে সিএসভি আউটপুট জন্য), আমি কনক্যাট ('\ t', column_name) ব্যবহার করেছি। কৌতুকও করেছে। ধন্যবাদ!
জাস্ট প্লেইন হাই

1
ভালো বুদ্ধি. হায়রে, সংখ্যা এক্সেলের চেয়ে কিছুটা "স্মার্ট", ​​এবং ট্যাব ট্রিকের জন্য পড়ে না। আমি যে সর্বোত্তম বিকল্পটি নিয়ে আসতে পারি তা একটি শীর্ষস্থানীয় ', কারণ এটি খুব ভাল বোঝা যায় এবং খুব বেশি বিভ্রান্তিকর নয় ... তবে একটি অদৃশ্যই আরও ভাল be
রাফারি

101

জারোডের সমাধান এবং জেফিকিন্স দ্বারা উত্থাপিত সমস্যাটি সমাধান না করে আপনি সংশোধন করতে পারেন

"May 16, 2011"

প্রতি

"=""May 16, 2011"""

6
পাঠ্যটি নির্দিষ্ট দৈর্ঘ্যের চেয়ে দীর্ঘ হলে এক্সেল 2010 এ কাজ করে না।
স্টিভ 15

1
@ অ্যান্ড্রু, এই "ফিক্স" সমস্যার কারণ হতে পারে যদি আপনার "তারিখের অভ্যন্তরে কোথাও কোনও মান থাকতে হয় ।
পেসারিয়ার 5:55

8
এফওয়াইআই, আপনি যদি এক্সেল ফাইলটি সংরক্ষণ করেন তবে = চলে যায় এবং আপনি পরের বার খুললে আবার স্কোয়ারে ফিরে
আসবেন

আমার অভিজ্ঞতা স্টিভ বা ডি 512 এর সাথে মেলে না। এটি এক্সেল 2013 এ আগত .csv এ আমার জন্য কাজ করে এবং .xlsx হিসাবে সংরক্ষণ করার পরে এটি আর ফিরে আসে না। তথ্যের এই সারিটি ব্যবহার করে যে কেউ পরীক্ষা করতে পারে তার পক্ষে যথেষ্ট সহজ: "806676", "কিছুই নয়", "41", "=" "16 ই মে, ২০১১" "", "100.00", "মিথ্যা"
tbc0

1
@ tbc0 "806676","None","41","=""05-16-2011""","100.00","False"পরিবর্তে চেষ্টা করুন এবং আপনি দেখতে পাবেন একটি সংরক্ষণ এবং পুনরায় লোড হাইফেনেটেড পাঠ্যটি হারাবে ।
নেটমেজ

65

আমারও অনুরূপ সমস্যা ছিল এবং এটি হ'ল সিএসভি ফাইল সামগ্রীগুলি সম্পাদনা না করেই আমাকে সহায়তা করেছে:

যদি আপনার ".csv" ব্যতীত অন্য কোনও ফাইলটির নামকরণের নমনীয়তা থাকে তবে আপনি এটি ".txt" এক্সটেনশান, যেমন "মাইফিল.টেক্সট" বা "মাইফাইল.সি.এস.ভিটিএসটি" এর সাথে নাম রাখতে পারেন। তারপরে আপনি যখন এটি এক্সেলে খুলেন (টেনে আনুন এবং না ফেলে, তবে ফাইল-> খুলুন বা সর্বাধিক ব্যবহৃত ফাইল তালিকা ব্যবহার করুন), এক্সেল আপনাকে একটি "পাঠ্য আমদানি উইজার্ড" সরবরাহ করবে।

উইজার্ডের প্রথম পৃষ্ঠায়, ফাইল ধরণের জন্য "ডিলিমিটেড" নির্বাচন করুন।

উইজার্ডের দ্বিতীয় পৃষ্ঠায় ডিলিমিটার হিসাবে "," নির্বাচন করুন এবং আপনি যদি মূল্যবোধ দ্বারা আপনার মানকে ঘিরে রেখেছেন তবে পাঠ্য বাছাইকারীও চয়ন করুন

তৃতীয় পৃষ্ঠায়, প্রতিটি কলাম পৃথকভাবে নির্বাচন করুন এবং এক্সেলকে আপনার ডেটা নিয়ে গণ্ডগোল থেকে বিরত রাখতে প্রতিটি "জেনারেল" এর পরিবর্তে "পাঠ্য" টাইপ করুন।

আশা করি এটি আপনাকে বা একইরকম সমস্যাযুক্ত কাউকে সহায়তা করে!


2
ওহ, উপায় দ্বারা আমি এটি প্রথম আবিষ্কার করি না। রাইজিংলাইন.ইউজ-এক্সেল- রিড- সিএসভি- উইথআউটফরম্যাটিং.পিপি এই ওয়েবপৃষ্ঠায় সহায়ক নির্দেশনা রয়েছে যে আপনি উইজার্ডের তৃতীয় পৃষ্ঠায় কলামগুলি শিফট-ক্লিক করতে পারেন যাতে প্রতিটি প্রকার নির্দিষ্ট করে দেওয়ার আগে একসাথে সমস্ত নির্বাচন করা যায়। "টেক্সট"।
রেনারবিট

এটি তারিখের মানগুলির জন্য কাজ করতে পারে তবে এটি সংখ্যা হিসাবে অ্যাক্সেলর ব্যাখ্যা হিসাবে কাজ করবে বলে মনে হয় না। যদি আপনার স্ট্রিংটি সমস্ত সংখ্যা এবং কমা হয়, তবে "পাঠ্য" ফর্ম্যাটটি বৈজ্ঞানিক সংখ্যা বিন্যাস হতে চলেছে।
মাইকেল - ক্লে শির্কি

3
এটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে এবং আমার ফাইলে এটি .txt নামকরণ করা ছাড়া কোনও পরিবর্তন জড়িত না। ধন্যবাদ.
কেভিন

1
দুর্ভাগ্যক্রমে, এক্সেল আপনাকে প্রথম 6 টি কলামের জন্য এটি করতে দেয়। আপনার যদি আরও বেশি প্রয়োজন হয় তবে আরও ভাল পন্থাটি হ'ল সিএসভির বিষয়বস্তু অনুলিপি করা, এক্সেল ফাইল তৈরি করা এবং খালি করা, সমস্ত কলাম / সারি নির্বাচন করুন এবং প্রবন্ধটি পাঠ্যে সেট করুন, তারপরে বিষয়বস্তুগুলি পেস্ট করুন এবং ডেটা | কলামগুলিতে পাঠ্য
নচোকাব

এটি সেরা সমাধান এবং উত্তর হিসাবে চিহ্নিত করা উচিত।
রব

28

সতর্কতা: এক্সেল '07 (কমপক্ষে) এর একটি (নোটার) বাগ রয়েছে: যদি কোনও ক্ষেত্রের বিষয়বস্তুতে কমা থাকে তবে এটি = "ক্ষেত্র, বিষয়বস্তুগুলি" সঠিকভাবে বিশ্লেষণ করে না, বরং কমাটির পরে সবকিছুকে কমাতে ফেলে দেয় নিম্নলিখিত ক্ষেত্র, নির্বিশেষে চিহ্নগুলি নির্বিশেষে।

ক্ষেত্রের বিষয়বস্তুতে যখন কমা অন্তর্ভুক্ত করা হয় তখন কেবলমাত্র কাজটিই আমি খুঁজে পেয়েছি =

এর অর্থ এই হতে পারে যে কিছু কিছু ক্ষেত্র রয়েছে যা এক্সেলে সঠিকভাবে "ডান" উপস্থাপন করা অসম্ভব তবে এখন পর্যন্ত আমি বিশ্বাস করি যে কেউই খুব অবাক হয় না।


আমি কেবল এক্সেল 2007 এ এটি পরীক্ষা করেছি এবং এটি আমার পক্ষে সঠিকভাবে কাজ করে। তবে যদি উদ্ধৃতিগুলির আগে যদি একটি নেতৃস্থানীয় স্থান থাকে তবে এটি কমাটি সঠিকভাবে পার্স করে না।
সানি 88

8
আরএফসি 4180 অনুসারে এটি কোনও বাগ হিসাবে উপস্থিত হবে না। ক্ষেত্রটি উদ্ধৃত করার সঠিক উপায়টি হল পুরো ক্ষেত্রটি উদ্ধৃত করা এবং তারপরে ডাবল উদ্ধৃতি অভ্যন্তরীণ উদ্ধৃতিগুলি। সুতরাং "=" "ক্ষেত্র, সামগ্রী" "" সরঞ্জামগুলি ietietf.org/html/rfc4180
পিটার স্টিফেন্স

2
@ পিটারস্টেফেনস, এটির মধ্যে থাকলে field, contentএটি কাজ করে না "। উদাহরণস্বরূপ"=""field, co""ntent"""
পেসারিয়ার

1
@ পেসারিয়ার সম্ভবত এম্বেড করা উক্তিটি ডাবল উদ্ধৃতিতে পরিণত হতে হবে """"
এরিক

আমি @ এরিকের পরামর্শটি সঠিক তা নিশ্চিত করতে পারি। মানযুক্ত ক্ষেত্রের জন্য 1"2, আপনি যদি এই কৌশলটি ব্যবহার করতে চান (যেমন এটি কেবল "1""2"ফাইলের মতো রেখে দেওয়ার বিপরীতে - এক্সেলটি ইতিমধ্যে চিকিত্সা হিসাবে বিবেচিত হত) তবে এক্সেল-লক্ষ্যবস্তু সিএসভি ফাইলের চূড়ান্ত সঠিক স্ট্রিংটি শেষ হয় হচ্ছে "=""1""""2"""
টাও

22

সি # তে আমার সিএসভি ফাইলে লেখার জন্য স্ট্রিং তৈরি করার সময় আমাকে এটিকে ফর্ম্যাট করতে হয়েছিল:

"=\"" + myVariable + "\""

2
এটি আমার জন্য জেলখানাতেও জেগেছিল। ধন্যবাদ
ভিয়েনায়ে সিংহ

3
জাভাতেও ঠিক তেমন কাজ করে
শায়ো

পাপা পার্স ব্যবহার করে জাভাস্ক্রিপ্টে আমার জন্য কাজ করেছেন।
wobsoriano

17

2018

একমাত্র সঠিক সমাধান যা আমার পক্ষে কাজ করেছে (এবং সিএসভি পরিবর্তন না করেও )।

এক্সেল 2010:

  1. নতুন ওয়ার্কবুক তৈরি করুন
  2. তথ্য> পাঠ্য থেকে> আপনার সিএসভি ফাইল নির্বাচন করুন
  3. পপআপে, "সীমিত" রেডিও বোতামটি চয়ন করুন, তারপরে "পরবর্তী>" ক্লিক করুন
  4. বিতরণকারী চেকবক্স: কেবলমাত্র "কমা" টিক চিহ্ন দিন এবং অন্যান্য বিকল্পগুলি চেক করুন, তারপরে "পরবর্তী>" ক্লিক করুন
  5. "ডেটা পূর্বরূপ" এ, ডানদিকে ডানদিকে স্ক্রোল করুন, তারপরে শিফটটি ধরে রেখে শেষ কলামটিতে ক্লিক করুন (এটি সমস্ত কলাম নির্বাচন করবে)। এখন "কলামের ডেটা ফর্ম্যাট" এ রেডিও বোতামটি "পাঠ্য" নির্বাচন করুন, তারপরে "সমাপ্তি" ক্লিক করুন।

এক্সেল অফিস365: (ক্লায়েন্ট সংস্করণ)

  1. নতুন ওয়ার্কবুক তৈরি করুন
  2. ডেটা> পাঠ্য / সিএসভি থেকে> আপনার সিএসভি ফাইল নির্বাচন করুন
  3. ডেটা টাইপ সনাক্তকরণ> সনাক্ত করবেন না

দ্রষ্টব্য: এক্সেল অফিস365 (ওয়েব সংস্করণ), যেহেতু আমি এটি লিখছি, আপনি এটি করতে সক্ষম হবেন না।


3
এটি পূর্বে সিএসভি ফাইলগুলি পরিবর্তন না করেই কাজ করে, সুতরাং আমি মনে করি এটির সঠিক উত্তর হওয়া উচিত।
জ্যাক

এটি সঠিক উত্তর মত দেখাচ্ছে। আমি উচ্চ আশা ছিল। তবে MacOS (অফিস365) এ, আমি সমস্ত কলাম নির্বাচন করতে পারি না : পাঠ্য আমদানি উইজার্ডে প্রদর্শিত পূর্বরূপ উইন্ডোতে কোনও অনুভূমিক স্ক্রোল নেই, যেমন আমি কেবল দৃশ্যমান কলামগুলিই নির্বাচন করতে পারি। আমি শর্ট কাটগুলি (সিএমডি + এ, বা অন্যান্য জিনিস) চেষ্টা করেছি, কোনও লাভ হয়নি। "সনাক্ত করবেন না" বিকল্পটিও বিদ্যমান নেই। আমি বিধ্বস্ত।
নরম্যানিয়াস

এক্সেল অফিস 365, ফাইল, বিকল্পসমূহ, ডেটা নির্বাচন করুন। প্রয়োজনে লিগ্যাসি ডেটা আমদানি উইজার্ডগুলি দেখানোর জন্য চেক বাক্স রয়েছে।
কুর্ট

15

এক্সেল 2010 এ একটি নতুন শিট খুলুন। ডেটা ফিতাটিতে "পাঠ্য থেকে বাহ্যিক ডেটা পান" ক্লিক করুন। আপনার সিএসভি ফাইল নির্বাচন করুন তারপরে "খুলুন" ক্লিক করুন। "পরবর্তী" ক্লিক করুন। "ট্যাব" আনচেক করুন, "কমা" এর পাশে একটি চেক চিহ্ন রাখুন, তারপরে "পরবর্তী" ক্লিক করুন। প্রথম কলামে যে কোনও জায়গায় ক্লিক করুন। শিফট কী ধরে থাকাকালীন স্লাইডারটি টানুন যতক্ষণ না আপনি শেষ কলামে ক্লিক করতে পারেন, তারপরে শিফট কীটি ছেড়ে দিন। "পাঠ্য" রেডিও বোতামটি ক্লিক করুন তারপরে "সমাপ্তি" ক্লিক করুন

সমস্ত কলামগুলি CSV ফাইলে যেমন পাঠ্য হিসাবে আমদানি করা হবে।


1
আমি একই সমস্যায় পড়েছি, তবে @ রবের নির্দেশাবলী সাবধানে অনুসরণ করা সঠিকভাবে কাজ করবে !. আপনাকে ধন্যবাদ
মিলাচে

2
পাঠ্য সহায়ক থেকে ডেটা দুর্ভাগ্যক্রমে বহু-লাইন কক্ষগুলিকে সমর্থন করে না। যদি এই জাতীয় বহু-পাঠ্য পাঠের মুখোমুখি হয় তবে এটি পুরো আমদানি ভেঙে প্রথম সারির পরে নতুন সারিগুলিতে লিখবে। এটি কেবলমাত্র ডাবল ক্লিক করে সিএসভি ফাইল খুললে লাইন বিরতি সঠিকভাবে ব্যাখ্যা করে। মাইক্রোসফ্টকে ক্ষতিগ্রস্থ কর ...
কোডম্যানএক্স

1
দুর্ভাগ্যক্রমে এটি এক্সেলের র্যান্ডম ফর্ম্যাটিং "সহায়তা" এর সমস্যা সমাধান করে না - DEC1 পাঠ্যটি এখনও ডেস্ক -01 তারিখে পরিবর্তিত হয়েছে । সঙ্গে একই টেক্সট হল YYYY-MM-ডিডি এর ডিডি / হয় MM / YYYY স্যুইচ করা হচ্ছে। :(
বারাকাস

12

মাইক্রোসফ্ট অফিস ২০১ release এর রিলিজের একটি সমস্যা, বরং এমআরসি 1, মার্চ 1, এসইপিটি 1 ইত্যাদির মতো জিন নাম নিয়ে আমাদের মধ্যে যারা কাজ করছেন তাদের জন্য বিরক্তিকর বিষয়গুলি সমাধান, আর-তে একটি ".csv" ফাইল তৈরির পরে যে সমাধানটি আমি সবচেয়ে ব্যবহারিক বলে মনে করেছি, এটি তখন এক্সেল ব্যবহারকারীদের সাথে খোলা / ভাগ করা হবে:

  1. পাঠ্য হিসাবে CSV ফাইলটি খুলুন (নোটপ্যাড)
  2. এটি অনুলিপি করুন (সিটিআরএল + এ, সিটিআরএল + সি)।
  3. এটিকে একটি নতুন এক্সেল শীটে আটকে দিন - এটি সমস্ত পাঠ্য স্ট্রিং হিসাবে এক কলামে আটকানো হবে।
  4. এই কলামটি চয়ন / নির্বাচন করুন।
  5. ডেটাতে যান - "কলামে পাঠ্য ...", উইন্ডোতে "সীমাবদ্ধ" (পরবর্তী) নির্বাচন করুন। "কমা" চিহ্নিত হয়েছে কিনা তা পরীক্ষা করুন (এটি চিহ্নিত করে ইতিমধ্যে নীচের কলামগুলিতে ডেটার বিভাজনটি প্রদর্শিত হবে) (পরবর্তী), এই উইন্ডোটিতে আপনি যে কলামটি চান তা চয়ন করতে পারেন এবং এটি পাঠ্য হিসাবে চিহ্নিত করতে পারেন (সাধারণের পরিবর্তে) (সমাপ্ত)।

আছে HTH


ম্যানুয়াল প্রচেষ্টা আমার কাছেও আবেদনময়ী ছিল না। যাইহোক, হাতের প্রতিটি সম্ভাবনা ক্লান্ত করার পরে, এটি ছিল সবচেয়ে শক্তিশালী এবং নির্ভরযোগ্য।
আনা মারিয়া মেন্ডেস-পেরেইরা

তবুও ব্যাচ প্রক্রিয়াজাতকরণ।
আনা মারিয়া মেন্ডেস-পেরেইরা

এটি আসলে এখানে সেরা উত্তর যাতে কমপক্ষে কাজের প্রয়োজন হয়। আমি আশা করি আপনি কেবল ফাইলটিকে বিশ্লেষণ না করার জন্য কিছু বিকল্প সেট করতে পারতেন।
রোলগুলি

আপনি সমস্ত কমাগুলি ট্যাবগুলির সাথেও প্রতিস্থাপন করতে পারেন, তারপরে এটি স্বয়ংক্রিয়ভাবে ডিলিমিনেট করবে
রোল

10

প্রথমদিকে সিএসভি ফাইল তৈরি করার সময় আমরা এখানে কাজের সহজ পদ্ধতিটি ব্যবহার করি, এটি মানগুলিকে কিছুটা পরিবর্তন করে তাই এটি সমস্ত অ্যাপ্লিকেশনগুলিতে উপযুক্ত নয়:

সিএসভিতে সমস্ত মানগুলিতে একটি স্থান প্রস্তুত করুন

এই স্থানটি "1", "2.3" এবং "-2.9e4" এর মতো সংখ্যা থেকে এক্সেল দ্বারা ছিটকে যাবে তবে "01/10/1993" এবং "TRUE" এর মতো বুলিয়ানগুলি এগুলিকে রূপান্তরিত করা বন্ধ করে দেবে এক্সেলের অভ্যন্তরীণ ডেটা ধরণের।

এটি ডাবল কোটগুলি পড়ার ক্ষেত্রে জ্যাপ করা বন্ধ করে দেয়, সুতরাং সিএসভিতে পাঠ্য তৈরি করার একটি বুদ্ধিমান পদ্ধতি এক্সেল দ্বারা অপরিবর্তিত থাকে যদি "3.1415" এর মতো কিছু পাঠ্য এটি ডাবল কোট দিয়ে পরিবেষ্টন করা এবং একটি স্পেস সহ পুরো স্ট্রিংটি প্রিন্ট করে, উদাহরণস্বরূপ (আপনি কী টাইপ করবেন তা দেখানোর জন্য একক উদ্ধৃতি ব্যবহার করে) '"3.1415"'। তারপরে এক্সেলের ক্ষেত্রে আপনার কাছে সর্বদা আসল স্ট্রিং থাকে, কেবল এটি দ্বিগুণ উক্তি দ্বারা বেষ্টিত থাকে এবং কোনও স্পেস দ্বারা প্রেন্ডেন্ট করা হয় যাতে আপনার কোনও সূত্রের ক্ষেত্রে অ্যাকাউন্ট করা দরকার etc.


এটি আমার পক্ষে কাজ করেছে। আমার 1-1-1 এর মতো কিছু মান ছিল যা স্বয়ংক্রিয়ভাবে তারিখে রূপান্তরিত হয়। উল্লিখিত হিসাবে স্থানটি স্থানান্তরিত হবে সুতরাং মানটি পরিবর্তিত হবে, তবে আমার জন্য পার্স করার সময় আমি এটিতে একটি স্ট্রিপ করি যা কোনও বড় বিষয় নয়।
জ্যাকলিন

অগ্রণী শূন্যগুলির তারিখ ব্যাখ্যার বা ছিনতাই রোধ করতে স্পেস আর কাজ করে না। তবে আপনি "\xA0"পরিবর্তে একটি অ-ব্রেকিং-স্পেস ব্যবহার করতে পারেন - এটি কার্যকর হবে।
Doin থেকে

8

(এক্সেল 2003 ধরে নিচ্ছি ...)

পাঠ্য-থেকে-কলামগুলি উইজার্ড ব্যবহার করার সময়, পদক্ষেপ 3 এ আপনি প্রতিটি কলামের জন্য ডেটা টাইপ ডিক্ট করতে পারেন। পূর্বরূপের কলামটিতে ক্লিক করুন এবং "জেনারেল" থেকে "পাঠ্য" তে দুর্ব্যবহারকারী কলামটি পরিবর্তন করুন।


8
আমি যদি ব্যবহারকারীকে আমদানি প্রক্রিয়াটি ব্যবহার করতে বাধ্য করতে পারি তবে এটি একটি দুর্দান্ত পছন্দ।

এটি আসলে সমস্যাটিকে সহায়তা করে না, কারণ যেভাবেই .csv তে রফতানি করার সময়
পাঠ্য

8

এটি কেবলমাত্র একটি উপায় যা আমি নিজেই ফাইলটির অভ্যন্তরে গোলযোগ না করে এটি কীভাবে সম্পন্ন করতে জানি know এক্সেলের সাথে যথারীতি, আমি কয়েক ঘন্টার জন্য ডেস্কে আমার মাথা পিটিয়ে এটি শিখেছি।

.Csv ফাইল এক্সটেনশনটি .txt এ পরিবর্তন করুন; এটি এক্সেল ফাইলটি খোলার সাথে সাথে স্বয়ংক্রিয় রূপান্তর করা থেকে বিরত থাকবে। আমি এটি কীভাবে করব তা এখানে: খালি ওয়ার্কশিটে এক্সেল খুলুন, ফাঁকা পত্রকটি বন্ধ করুন, তারপরে ফাইল => খুলুন এবং .txt এক্সটেনশন দিয়ে আপনার ফাইলটি চয়ন করুন। এটি এক্সেলকে "পাঠ্য আমদানি উইজার্ড" খুলতে বাধ্য করে যেখানে এটি আপনাকে ফাইলটি কীভাবে ব্যাখ্যা করতে চায় তা সম্পর্কে প্রশ্ন জিজ্ঞাসা করবে। প্রথমে আপনি আপনার ডিলিমিটারটি (কমা, ট্যাব, ইত্যাদি ...) চয়ন করুন, তারপরে (এখানে গুরুত্বপূর্ণ অংশটি রয়েছে) আপনি কলামগুলির একটি সেট কলাম পছন্দ করুন এবং বিন্যাসটি নির্বাচন করুন। আপনি যদি ফাইলটিতে ঠিক কী চান তা চান তবে "পাঠ্য" চয়ন করুন এবং এক্সেল ডিলিমিটরের মধ্যে যা রয়েছে তা ঠিক প্রদর্শন করবে।


এটি কেবল 2015-03-03 এ ম্যাক 2011-এর জন্য এক্সেলের সাথে কাজ করে (সংস্করণ 14.4.8 150116), এসও প্রশ্নে ডেটা নিয়ে কাজ করেছে awk- তারিখের মতো মানগুলির পুনরায় ফর্মিং এড়ান , যেখানে সমস্যাটি এক্সেলের পরিবর্তে রয়েছে where চেয়ে awk, প্রশ্ন শিরোনাম সত্ত্বেও।
জোনাথন লেফলার

4

(এক্সেল 2007 এবং পরবর্তী)

উত্স ফাইলটি সম্পাদনা না করে কীভাবে এক্সেলকে তারিখের ফর্ম্যাটগুলি "সনাক্ত" না করতে বাধ্য করা যায়

উভয় ক্ষেত্রেই:

  • .txt হিসাবে ফাইলটির নাম পরিবর্তন করুন
  • আপনি যদি এটি না করতে পারেন, সরাসরি এক্সএলে সিএসভি ফাইলটি খোলার পরিবর্তে একটি নতুন ওয়ার্কবুক তৈরি করুন তারপরে যান
    Data > Get external data > From Text
    এবং আপনার সিএসভি নির্বাচন করুন।

যে কোনও উপায়েই, আপনাকে আমদানি বিকল্পগুলির সাথে উপস্থাপিত করা হবে, খালি তারিখগুলি সহ প্রতিটি কলামটি নির্বাচন করুন এবং এক্সেলকে "পাঠ্য" নয় "সাধারণ" হিসাবে ফর্ম্যাট করতে বলুন।


4

এই একই সমস্যার জন্য আমি যা করেছি তা হ'ল প্রতিটি সিএসভি মান আগে "=" "" এবং এক্সেলের মধ্যে ফাইলটি খোলার আগে প্রতিটি সিএসভি মানের পরে একটি ডাবল উদ্ধৃতি যুক্ত করা ছিল। উদাহরণস্বরূপ নিম্নলিখিত মানগুলি গ্রহণ করুন:

012345,00198475

এক্সেল এ খোলার আগে এগুলি পরিবর্তন করা উচিত:

"="""012345","="""00198475"

আপনি এটি করার পরে, প্রতিটি ঘরের মান এক্সেলের একটি সূত্র হিসাবে উপস্থিত হয় এবং তাই কোনও সংখ্যা, তারিখ ইত্যাদি হিসাবে ফর্ম্যাট করা হবে না উদাহরণস্বরূপ, 012345 এর মান হিসাবে প্রদর্শিত হবে:

="012345"

আর একটি পদ্ধতি সিএসভিতে নম্বরটি সংরক্ষণ করছে 1234500198475E-8; এইভাবে এক্সেলে আরও গণনা এখনও সম্ভব হবে।
বার্ট ব্রুনুঘে

4

এখানে প্রদত্ত সমাধানগুলির কোনওটিই ভাল সমাধান নয়। এটি স্বতন্ত্র কেসগুলির জন্য কাজ করতে পারে তবে কেবলমাত্র আপনি চূড়ান্ত প্রদর্শনের নিয়ন্ত্রণে থাকলে। আমার উদাহরণটি ধরুন: আমার কাজ তারা খুচরা বিক্রয় করে এমন পণ্যগুলির তালিকা তৈরি করে। এটি সিএসভি ফর্ম্যাটে রয়েছে এবং এতে পার্ট-কোড রয়েছে, তাদের মধ্যে কয়েকটি শূন্যের সাথে শুরু হয়, নির্মাতারা সেট করে (আমাদের নিয়ন্ত্রণে নয়)। নেতৃস্থানীয় শূন্যগুলি সরিয়ে ফেলুন এবং আপনি অন্য কোনও পণ্যের সাথে মিলতে পারেন। খুচরা গ্রাহকরা ব্যাক-এন্ড প্রসেসিং প্রোগ্রামগুলির কারণে সিএসভি ফর্ম্যাটে তালিকাটি চান, এটি আমাদের নিয়ন্ত্রণের বাইরেও এবং গ্রাহক প্রতি পৃথক, তাই আমরা সিএসভি ফাইলগুলির ফর্ম্যাটটি পরিবর্তন করতে পারি না। কোন উপসর্গ '=', বা যোগ করা ট্যাব নেই। কাঁচা সিএসভি ফাইলগুলির ডেটা সঠিক; গ্রাহকরা যখন এই ফাইলগুলিকে এক্সলে খুলেন তখন সমস্যা শুরু হয়। এবং অনেক গ্রাহক আসলেই কম্পিউটার বুদ্ধিমান নন। এগুলি প্রায় কোনও ইমেল সংযুক্তি খুলতে এবং সংরক্ষণ করতে পারে। আমরা তথ্য দুটি সামান্য ভিন্ন ফর্ম্যাটে সরবরাহ করার কথা ভাবছি: একটি এক্সেল ফ্রেন্ডলি হিসাবে একটি (একটি ট্যাব যুক্ত করে উপরের বিকল্পগুলি ব্যবহার করে, অন্যটি 'মাস্টার' হিসাবে ব্যবহার করে But তবে এটি আগ্রহী চিন্তাভাবনা হতে পারে কারণ কিছু গ্রাহক কেন বুঝতে পারবেন না আমাদের এটি করা দরকার।এদিকে আমরা তাদের স্প্রেডশিটে কেন কখনও কখনও 'ভুল' ডেটা দেখি তা ব্যাখ্যা করেই চলতে থাকি Microsoft ফাইল ব্যবহার করুন। তবে এটি ইচ্ছাকৃত চিন্তাভাবনা হতে পারে কারণ কিছু গ্রাহক বুঝতে পারবেন না কেন আমাদের এটি করা দরকার। এদিকে আমরা তাদের স্প্রেডশীটে কেন কখনও কখনও 'ভুল' ডেটা দেখি তা ব্যাখ্যা করেই চলতে থাকি। মাইক্রোসফ্ট কোনও যথাযথ পরিবর্তন না করা পর্যন্ত আমি এটির কোনও যথাযথ রেজোলিউশন দেখতে পাচ্ছি না, যতক্ষণ না শেষ ব্যবহারকারীরা কীভাবে ফাইলগুলি ব্যবহার করে তার কোনও নিয়ন্ত্রণ নেই। তবে এটি ইচ্ছাকৃত চিন্তাভাবনা হতে পারে কারণ কিছু গ্রাহক বুঝতে পারবেন না কেন আমাদের এটি করা দরকার। এদিকে আমরা তাদের স্প্রেডশীটে কেন কখনও কখনও 'ভুল' ডেটা দেখি তা ব্যাখ্যা করেই চলতে থাকি। মাইক্রোসফ্ট কোনও যথাযথ পরিবর্তন না করা পর্যন্ত আমি এটির কোনও যথাযথ রেজোলিউশন দেখতে পাচ্ছি না, যতক্ষণ না শেষ ব্যবহারকারীরা কীভাবে ফাইলগুলি ব্যবহার করে তার কোনও নিয়ন্ত্রণ নেই।


যদি আপনার ডেটার বামে অতিরিক্ত স্থানের কোনও "\xA0"গুরুত্ব আসে না, তবে আপনি আপনার ডেটাতে প্রিপেন্ডিং (অ-ব্রেকিং-স্পেস) করে এক্সেলের সমস্যাগুলি সমাধান করতে পারেন ।
Doin থেকে

3

আমি ঠিক এই সপ্তাহে এই সম্মেলনটি পেরিয়ে এসেছি, যা একটি দুর্দান্ত পদ্ধতির বলে মনে হচ্ছে, তবে আমি এটি কোথাও উল্লেখ করতে পারি না। কেউ কি এর সাথে পরিচিত? আপনি কি এর উত্স উদ্ধৃত করতে পারেন? আমি ঘন্টা এবং ঘন্টা খুঁজছি না তবে আশা করছি যে কেউ এই পদ্ধতির স্বীকৃতি দেবে।

উদাহরণ 1: = ("012345678905") 012345678905 হিসাবে প্রদর্শিত হয়

উদাহরণ 2: = ("1954-12-12") 1954-12-12 হিসাবে প্রদর্শিত হবে , 12/12/1954 নয় ।


2

এটি এক্সেল নয়। উইন্ডোজ সূত্রটি, ডেটাটিকে একটি তারিখ এবং স্ব-সংশোধন হিসাবে স্বীকৃতি দেয়। আপনাকে উইন্ডোজ সেটিংস পরিবর্তন করতে হবে।

"কন্ট্রোল প্যানেল" (-> "ক্লাসিক ভিউতে স্যুইচ করুন") -> "আঞ্চলিক এবং ভাষা বিকল্পসমূহ" -> ট্যাব "আঞ্চলিক বিকল্পসমূহ" -> "অনুকূলিতকরণ ..." -> ট্যাব "নম্বর" -> এবং তারপরে চিহ্নগুলি পরিবর্তন করুন আপনি যা চান তা অনুসারে

http://www.pcreview.co.uk/forums/enable-disable-auto-convert-number-date-t3791902.html

এটি আপনার কম্পিউটারে কাজ করবে, যদি আপনার গ্রাহকদের কম্পিউটারে উদাহরণস্বরূপ এই সেটিংসটি পরিবর্তন না করা হয় তবে তারা ডেটার পরিবর্তে তারিখগুলি দেখতে পাবে।


2

হাই আমার একই সমস্যা আছে,

আমি অন্য একটি সিএসভি ফাইল তৈরি করতে এই vbscipt লিখি। নতুন সিএসভি ফাইলের প্রতিটি ক্ষেত্রের ফন্টে একটি স্থান থাকবে, সুতরাং এক্সেল এটিকে পাঠ্য হিসাবে বুঝতে পারবে।

সুতরাং আপনি নীচের কোড সহ একটি .vbs ফাইল তৈরি করুন (উদাহরণস্বরূপ Modify_CSV.vbs), এটি সংরক্ষণ এবং বন্ধ করুন। আপনার vbscript ফাইলটিতে আপনার আসল ফাইলটি টানুন এবং ফেলে দিন। এটি একই জায়গায় নাম লেখানোর জন্য "SPACE_ADDED" দিয়ে একটি নতুন ফাইল তৈরি করবে।

Set objArgs = WScript.Arguments

Set objFso = createobject("scripting.filesystemobject")

dim objTextFile
dim arrStr ' an array to hold the text content
dim sLine  ' holding text to write to new file

'Looping through all dropped file
For t = 0 to objArgs.Count - 1
    ' Input Path
    inPath = objFso.GetFile(wscript.arguments.item(t))

    ' OutPut Path
    outPath = replace(inPath, objFso.GetFileName(inPath), left(objFso.GetFileName(inPath), InStrRev(objFso.GetFileName(inPath),".") - 1) & "_SPACE_ADDED.csv")

    ' Read the file
    set objTextFile = objFso.OpenTextFile(inPath)


    'Now Creating the file can overwrite exiting file
    set aNewFile = objFso.CreateTextFile(outPath, True) 
    aNewFile.Close  

    'Open the file to appending data
    set aNewFile = objFso.OpenTextFile(outPath, 8) '2=Open for writing 8 for appending

    ' Reading data and writing it to new file
    Do while NOT objTextFile.AtEndOfStream
        arrStr = split(objTextFile.ReadLine,",")

        sLine = ""  'Clear previous data

        For i=lbound(arrStr) to ubound(arrStr)
            sLine = sLine + " " + arrStr(i) + ","
        Next

        'Writing data to new file
        aNewFile.WriteLine left(sLine, len(sLine)-1) 'Get rid of that extra comma from the loop


    Loop

    'Closing new file
    aNewFile.Close  

Next ' This is for next file

set aNewFile=nothing
set objFso = nothing
set objArgs = nothing

2

আপনার সিএসভি ফাইল পরিবর্তন না করে আপনি এটি করতে পারেন:

  1. এক্সেল ফর্ম্যাট ঘর বিকল্পটি "পাঠ্য" এ পরিবর্তন করুন
  2. তারপরে CSV ঘরগুলি সংজ্ঞায়িত করতে "পাঠ্য আমদানি উইজার্ড" ব্যবহার করুন।
  3. একবার আমদানি করে সেই ডেটা মুছুন
  4. তারপরে কেবল সরল পাঠ্য হিসাবে পেস্ট করুন

অ্যাক্সেল আপনার সিএসভি সেলগুলি যথাযথভাবে ফর্ম্যাট করবে এবং স্বতঃ তারিখের ফর্ম্যাটগুলি উপেক্ষা করে পাঠ্য বিন্যাস হিসাবে আলাদা করবে।

চারপাশে একটি নির্বোধ কাজ, কিন্তু এটি আমদানির আগে সিএসভি ডেটা পরিবর্তন করে। অ্যান্ডি বেয়ার্ড এবং রিচার্ড এই ধরণের পদ্ধতিতে বাদ পড়েছিলেন, তবে কয়েকটি গুরুত্বপূর্ণ পদক্ষেপ মিস করেছেন।


1

আমি জানি এটি একটি পুরানো সুতো। আমার মতো লোকের জন্য, যাদের পাওয়ারসেল কম বস্তুর মাধ্যমে অফিস 2013 ব্যবহার করে এখনও এই সমস্যা রয়েছে তারা ওপেনটেক্সট পদ্ধতিটি ব্যবহার করতে পারেন । সমস্যাটি হ'ল এই পদ্ধতিতে অনেক যুক্তি রয়েছে যা কখনও কখনও পারস্পরিক একচেটিয়া থাকে। এই সমস্যাটি সমাধান করার জন্য আপনি এই পোস্টে প্রবর্তিত চালিত-নামকরণের পদ্ধতি ব্যবহার করতে পারেন । একটি উদাহরণ হবে

$ex = New-Object -com "Excel.Application"
$ex.visible = $true
$csv = "path\to\your\csv.csv"
Invoke-NamedParameter ($ex.workbooks) "opentext" @{"filename"=$csv; "Semicolon"= $true}

দুর্ভাগ্যক্রমে আমি সবেমাত্র আবিষ্কার করেছি যে কোষগুলিতে লাইনব্রেক থাকে তখন এই পদ্ধতিটি কোনওভাবে সিএসভি পার্সিং ভেঙে দেয়। এটি সিএসভি দ্বারা সমর্থিত তবে মাইক্রোসফ্ট বাস্তবায়ন বগড বলে মনে হচ্ছে। এছাড়াও এটি কোনওভাবে জার্মান নির্দিষ্ট অক্ষর সনাক্ত করতে পারেনি। এটিকে সঠিক সংস্কৃতি দেওয়া এই আচরণের কোনও পরিবর্তন করেনি। সমস্ত ফাইল (সিএসভি এবং স্ক্রিপ্ট) utf8 এনকোডিং দ্বারা সংরক্ষিত আছে। প্রথমে আমি সেল দ্বারা সিএসভি সেল সন্নিবেশ করানোর জন্য নিম্নলিখিত কোডটি লিখেছিলাম।

$ex = New-Object -com "Excel.Application"
$ex.visible = $true;
$csv = "path\to\your\csv.csv";
$ex.workbooks.add();
$ex.activeWorkbook.activeSheet.Cells.NumberFormat = "@";
$data = import-csv $csv -encoding utf8 -delimiter ";"; 
$row = 1; 
$data | %{ $obj = $_; $col = 1; $_.psobject.properties.Name |%{if($row -eq1){$ex.ActiveWorkbook.activeSheet.Cells.item($row,$col).Value2= $_ };$ex.ActiveWorkbook.activeSheet.Cells.item($row+1,$col).Value2 =$obj.$_; $col++ }; $row++;}

তবে এটি চূড়ান্তভাবে ধীর, তাই আমি একটি বিকল্পের জন্য চেয়েছিলাম। সুস্পষ্টভাবে এক্সেল আপনাকে ম্যাট্রিক্স সহ বিভিন্ন কক্ষের মান নির্ধারণ করতে দেয়। সুতরাং আমি এই ব্লগে অ্যালগরিদম ব্যবহার করে সিএসভিকে একটি মাল্টিআরেতে রূপান্তরিত করেছি।

function csvToExcel($csv,$delimiter){
     $a = New-Object -com "Excel.Application"
     $a.visible = $true

    $a.workbooks.add()
     $a.activeWorkbook.activeSheet.Cells.NumberFormat = "@"
     $data = import-csv -delimiter $delimiter $csv; 
     $array = ($data |ConvertTo-MultiArray).Value
     $starta = [int][char]'a' - 1
     if ($array.GetLength(1) -gt 26) {
         $col = [char]([int][math]::Floor($array.GetLength(1)/26) + $starta) + [char](($array.GetLength(1)%26) + $Starta)
     } else {
         $col = [char]($array.GetLength(1) + $starta)
     }
     $range = $a.activeWorkbook.activeSheet.Range("a1:"+$col+""+$array.GetLength(0))
     $range.value2 = $array;
     $range.Columns.AutoFit();
     $range.Rows.AutoFit();
     $range.Cells.HorizontalAlignment = -4131
     $range.Cells.VerticalAlignment = -4160
}

 function ConvertTo-MultiArray {
     param(
         [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)]
         [PSObject[]]$InputObject
     )
     BEGIN {
         $objects = @()
         [ref]$array = [ref]$null
     }
     Process {
         $objects += $InputObject
     }
     END {
         $properties = $objects[0].psobject.properties |%{$_.name}
         $array.Value = New-Object 'object[,]' ($objects.Count+1),$properties.count
         # i = row and j = column
         $j = 0
         $properties |%{
             $array.Value[0,$j] = $_.tostring()
             $j++
         }
         $i = 1
         $objects |% {
             $item = $_
             $j = 0
             $properties | % {
                 if ($item.($_) -eq $null) {
                     $array.value[$i,$j] = ""
                 }
                 else {
                     $array.value[$i,$j] = $item.($_).tostring()
                 }
                 $j++
             }
             $i++
         }
         $array
     } 
} 
csvToExcel "storage_stats.csv" ";"

আপনি উপরের কোডটি যেমন ব্যবহার করতে পারেন তেমন কোনও সিএসভিকে এক্সেলে রূপান্তর করা উচিত। কেবল সিএসভি এবং নীচে ডিলিমিটারের চরিত্রটি পরিবর্তন করুন।


খুব জটিল
রোলগুলি

1

আমার ক্ষেত্রে, আরএস ব্যবহার করে তৈরি করা একটি সিএসভি ফাইলের "সেপ্টেম্বর 8" এক্সেল 2013 দ্বারা "8-সেপ্টেম্বর" তে রূপান্তরিত হয়েছিল x , যা এক্সেল দ্বারা অযাচিত রূপান্তর ছাড়াই লোড করা যায়। সুতরাং, যদি আপনাকে কোনও সিএসভি ফাইল দেওয়া হয়, আপনি এটিকে আর-তে লোড করে এবং Writ.xlsx2 () ফাংশনটি ব্যবহার করে এটিকে xlsx এ রূপান্তর করতে চেষ্টা করতে পারেন।


আমি জানি না কেন আপনার উত্তরটি নিম্নমানের। কমপক্ষে যারা আর ব্যবহার করছেন তাদের পক্ষে এটি দরকারী This এই উত্তরটি আমাকে সাহায্য করেছিল। ধন্যবাদ :)
শ্রীহর্ষা কেবি

1

গুগল ড্রাইভ (বা আপনি যদি ম্যাকের উপরে থাকেন তবে নম্বরগুলি) ব্যবহার করে একটি কার্যকারিতা:

  1. এক্সেলে ডেটা খুলুন
  2. পাঠ্য (ফর্ম্যাট> সেল> নম্বর> পাঠ্য) এ ভুল ডেটা সহ কলামের বিন্যাসটি সেট করুন
  3. .Csv কে গুগল ড্রাইভে লোড করুন এবং এটি Google পত্রক দিয়ে খুলুন
  4. আপত্তিজনক কলামটি অনুলিপি করুন
  5. পাঠ্য হিসাবে এক্সেলটিতে কলামটি আটকান (সম্পাদনা করুন> বিশেষ প্রেরণ করুন> পাঠ্য)

বিকল্প হিসাবে যদি আপনি ধাপ 3 এর জন্য ম্যাকে থাকেন তবে আপনি সংখ্যায় ডেটা খুলতে পারবেন।


এটি কোনও সমাধান ছাড়াই ঘন্টার জন্য কাজ করার চেয়ে এটি একটি বিচক্ষণ সমাধান।
imsrgadich

1

(এক্সেল ২০১ 2016 এবং তারপরে, আসলে আমি পুরানো সংস্করণগুলিতে চেষ্টা করিনি)

  1. নতুন ফাঁকা পৃষ্ঠা খুলুন
  2. ট্যাব "ডেটা" এ যান
  3. "পাঠ্য / সিএসভি থেকে" ক্লিক করুন এবং আপনার সিএসভি ফাইলটি চয়ন করুন
  4. আপনার ডেটা সঠিক কিনা তা পূর্বরূপ দেখুন।
  5. ক্ষেত্রে যখন কিছু কলাম তারিখে রূপান্তরিত হয় তখন "সম্পাদনা করুন" ক্লিক করুন এবং তারপরে কলামের মাথায় ক্যালেন্ডারে ক্লিক করে পাঠ্য টাইপ নির্বাচন করুন
  6. "বন্ধ করুন এবং লোড করুন" ক্লিক করুন

0

ঠিক আছে 2007 এর মাধ্যমে এক্সেল 2003 এ এটি করার একটি সহজ উপায় খুঁজে পেয়েছে a একটি খালি এক্সএলএস ওয়ার্কবুক খুলুন। তারপরে ডেটা মেনুতে যান, বাহ্যিক ডেটা আমদানি করুন। আপনার সিএসভি ফাইলটি নির্বাচন করুন। উইজার্ডের মধ্য দিয়ে যান এবং তারপরে "কলামের ডেটা ফর্ম্যাট" এ যে কোনও কলাম নির্বাচন করুন যা "পাঠ্য" বাধ্য করতে হবে। এটি এক্সেলকে কোনও নির্দিষ্ট কক্ষকে তারিখ হিসাবে বিবেচনা করার চেষ্টা থেকে বিরত করে পাঠ্য বিন্যাস হিসাবে এই পুরো কলামটি আমদানি করবে।


0

এই সমস্যাটি ম্যাক অফিস 2011 এবং অফিস 2013 এ এখনও উপস্থিত রয়েছে, আমি এটি ঘটতে বাধা দিতে পারি না। এটি একটি বেসিক জিনিস মনে হচ্ছে।

আমার ক্ষেত্রে আমার উল্লিখিত কমাতে সঠিকভাবে বদ্ধ CSV এর মধ্যে "1 - 2" এবং "7 - 12" এর মান ছিল, এটি স্বয়ংক্রিয়ভাবে এক্সেলের মধ্যে একটি তারিখে রূপান্তরিত হয়, যদি আপনি পরে এটি কেবল প্লেইন পাঠ্যে রূপান্তর করেন তবে আপনি পাবেন তারিখের একটি সংখ্যার প্রতিনিধিত্ব যেমন 43768. অতিরিক্তভাবে এটি বারকোড এবং ইএএন সংখ্যাগুলিতে পাওয়া বিপুল সংখ্যাকে আবার 123E + সংখ্যায় পুনরায় রূপান্তর করে যা আবার রূপান্তর করা যায় না।

আমি খুঁজে পেয়েছি যে গুগল ড্রাইভের গুগল শিটগুলি সংখ্যাগুলিকে তারিখে রূপান্তর করে না। বারকোডগুলিতে প্রতি 3 টি অক্ষরে কমা থাকে তবে এগুলি সহজেই মুছে ফেলা হয়। এটি ম্যাক / উইন্ডোজ সিএসভিগুলির সাথে কাজ করার সময় বিশেষত সিএসভিগুলি পরিচালনা করে।

কাউকে কিছু সময় বাঁচাতে পারে।


0

ইজিস্টেস্ট সলিউশন আমি আজ এটি আবিষ্কার করেছি।

  • কথায় খোলা
  • সমস্ত হাইফেনকে এন ড্যাশ দিয়ে প্রতিস্থাপন করুন
  • সংরক্ষণ করেন এবং বন্ধ করেন
  • এক্সেলে খুলুন

আপনার সম্পাদনা শেষ হয়ে গেলে, হাইফেনের সাথে এন ড্যাশগুলি পুনরায় প্রতিস্থাপন করতে আপনি সর্বদা এটি আবার ওয়ার্ডে ব্যাক আপ করতে পারেন।


0

আমি ক্রেডিট কার্ড নম্বরগুলির জন্য এটি করি যা বৈজ্ঞানিক স্বরলিপিতে রূপান্তরিত করে: আমি আমার .csv কে Google পত্রকগুলিতে আমদানি করি। আমদানি বিকল্পগুলি এখন সংখ্যার মানগুলির স্বয়ংক্রিয় বিন্যাস অক্ষম করতে দেয়। আমি যেকোন সংবেদনশীল কলামগুলি সরল পাঠ্যে সেট করেছি এবং এক্সএলএক্সএক্স হিসাবে ডাউনলোড করি।

এটি একটি ভয়াবহ কর্মপ্রবাহ, তবে আমার মানগুলি সেভাবে হওয়া উচিত।


যদি আপনি অন্যান্য উত্তরগুলির কয়েকটি পড়তে বিরক্ত হন তবে আপনি দেখতে পাবেন যে ইতিমধ্যে কেউ এখানে এটির জন্য পরামর্শ দিয়েছে ।
লরেল

আমি বিরক্ত করেছিলাম, আপনাকে ধন্যবাদ। আমি স্বয়ংক্রিয় বিন্যাস নির্বাচন আমদানি প্রক্রিয়াটির একটি নতুন অংশ হিসাবে ইঙ্গিত করছি। আমার উত্তরটি একটি খুব নির্দিষ্ট ওয়ার্কফ্লো সরবরাহ করে, যারা আমার মতো তাদেরও এই নির্দিষ্ট সমস্যাটি মোকাবেলায় পত্রক ব্যবহার করতে বাধ্য হয়েছেন। আমার মনে, এটি একটি পৃথক উত্তর যোগ্য। আপনার স্বরের একটি সামান্য সামঞ্জস্যের ফলে আপনার মন্তব্যটি সহায়ক হিসাবে ব্যাখ্যা করা হতে পারে যা ওয়েবসাইটগুলির এই পরিবারের পুরো বিষয়।
ব্রেন্ডনউব্রাউন

তবে আপনি কেবলমাত্র CSV ফাইলটি আমদানি করতে Excel এ পাঠ্য আমদানি ব্যবহার করতে পারেন এবং পত্রকগুলির সাথে বিরক্ত করবেন না, যেমন অন্যান্য উত্তরে উল্লিখিত হয়েছে।
নেটমেজ

0

আমি এই ভিবিএ ম্যাক্রো তৈরি করেছি যা মূলত সংখ্যাগুলি আটকানোর আগে আউটপুট পরিসীমাটিকে পাঠ্য হিসাবে ফর্ম্যাট করে। আমার পক্ষে নিখুঁত কাজ করে যখন আমি 8/11, 23/6, 1/3 ইত্যাদির মতো মানগুলিকে এক্সেটের তারিখ হিসাবে ব্যাখ্যা না করে পেস্ট করতে চাই।

Sub PasteAsText()
' Created by Lars-Erik Sørbotten, 2017-09-17
Call CreateSheetBackup

Columns(ActiveCell.Column).NumberFormat = "@"

Dim DataObj As MSForms.DataObject
Set DataObj = New MSForms.DataObject
DataObj.GetFromClipboard

ActiveCell.PasteSpecial

End Sub

এটি অন্যান্য ব্যক্তিদের জন্যও কাজ করে কিনা তা জানতে আমি খুব আগ্রহী। আমি কিছুক্ষণের জন্য এই সমস্যার সমাধান খুঁজছি, তবে এর আগে একটি দ্রুত ভিবিএ সমাধান আমি দেখিনি যার মধ্যে ইনপুট পাঠ্যের সামনে 'সন্নিবেশ অন্তর্ভুক্ত করা হয়নি। এই কোডটি তার মূল আকারে ডেটা ধরে রাখে।


-1

আপনি যদি ক্ষেত্রের শুরুতে একটি উল্টানো কমা রাখেন তবে এটি পাঠ্য হিসাবে ব্যাখ্যা করা হবে।

উদাহরণ: 25/12/2008হয়ে যায়'25/12/2008

আমদানি করার সময় আপনি ক্ষেত্রের প্রকারটি নির্বাচন করতেও সক্ষম হন।


9
আমার ডেটা শুরুর দিকে আমি একটি চাই না।

27
-1। এক্সেলটিতে সরাসরি প্রবেশ করার পরে 'কেবলমাত্র কাজ করে, তবে এটি সিএসভিতে কাজ করে না - আমদানির পরে এক্সেল সেলটিতে আপনার অতিরিক্ত থাকে'।
টিএমএস

-1

একটি বিকল্প পদ্ধতি:

আপনি যে কলামটি 'পাঠ্যে' পরিবর্তন করতে চান সেটি ফর্ম্যাটকে রূপান্তর করুন। আপনি সংরক্ষণ করতে চান এমন সমস্ত কক্ষ নির্বাচন করুন, অনুলিপি করুন। এই কলামগুলিকে অনির্বাচিত না করে "সম্পাদনা করুন> বিশেষ হিসাবে আটকান> মান হিসাবে" ক্লিক করুন

CSV হিসাবে সংরক্ষণ করুন। নোট করুন যে আপনি ফাইলটিতে এটিই শেষ কাজটি করতে হবে কারণ আপনি যখন এটি পুনরায় খুলবেন তখন এটি নিজেকে তারিখ হিসাবে ফর্ম্যাট করবে যেহেতু সেল ফর্ম্যাটগুলি CSV ফাইলগুলিতে সংরক্ষণ করা যায় না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.