কিছু উদার লাইসেন্সের অধীনে সিএসভি পার্সারের একটি ভাল এবং নিখরচায় বাস্তবায়ন কি পাওয়া যায়? জাভা, সম্ভবত একটি বন্দর জন্য সুপারসিএসভি কিছু অংশ ?
কিছু উদার লাইসেন্সের অধীনে সিএসভি পার্সারের একটি ভাল এবং নিখরচায় বাস্তবায়ন কি পাওয়া যায়? জাভা, সম্ভবত একটি বন্দর জন্য সুপারসিএসভি কিছু অংশ ?
উত্তর:
কোডপ্রজেক্টে একটি দুর্দান্ত বাস্তবায়ন রয়েছে :
145 ক্ষেত্র এবং 50,000 রেকর্ডযুক্ত 45 এমবি সিএসভি ফাইল সহ পৃথিবীর সংখ্যাগুলিকে আরও নামিয়ে দেওয়ার জন্য, পাঠক প্রায় 30 এমবি / সেকেন্ড প্রক্রিয়া করছে। সব মিলিয়ে, এটি 1.5 সেকেন্ড সময় নিয়েছে! মেশিনের স্পেসগুলি পি 4 3.0 গিগাহার্টজ, 1024 এমবি ছিল।
Microsoft.VisualBasic.FileIO.TextFieldParse
এবং এটি কৌশলটি করেছিলেন।
আপনি ডেটাবেলে কোনও সিএসভি ফাইল লোড করতে পারেন।
কোডের উদাহরণ -
static DataTable CsvToDataTable(string strFileName)
{
DataTable dataTable = new DataTable("DataTable Name");
using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source = " + Directory.GetCurrentDirectory() + "; Extended Properties = \"Text;HDR=YES;FMT=Delimited\""))
{
conn.Open();
string strQuery = "SELECT * FROM [" + strFileName + "]";
OleDbDataAdapter adapter =
new System.Data.OleDb.OleDbDataAdapter(strQuery, conn);
adapter.Fill(dataTable);
}
return dataTable;
}
নিশ্চিত হয়ে নিন যে আপনি আপনার প্রকল্পটি x86 প্রসেসরে সংকলন করেছেন। এটি x64 এর জন্য কাজ করে না।
চেষ্টা filehelpers হয় amazingly ভাল কাজ। আমি এটি প্রতিদিন 100 এমবি ফাইল পার্স করতে ব্যবহার করছি।
আপনি ফাইলহেলার্স লাইব্রেরি চেষ্টা করেছেন? এটি নিখরচায়, মুক্ত উত্স এবং CSV ফাইলগুলি পার্স করার জন্য ব্যবহার করা যেতে পারে।
আমি যে CSV পার্সার তারই একটি অংশ ব্যবহার শুরু করেছি CommonLibrary.NET ।
এটি .NET 3.5 ব্যবহার করে, একটি সহজ এপিআই, এবং পুনরাবৃত্তির জন্য সুবিধাজনক ওভারলোড / পদ্ধতি এবং লামডা রয়েছে।
উপরের মতো এটির জন্য আমার কাছে কোনও মানদণ্ড নেই, তবে এটির সম্পর্কে সুন্দর বিষয়টি এটি জাভা কমন্সের মতো একটি লাইব্রেরির মাত্র একটি উপাদান। সুতরাং আমি কমান্ড-লাইন পার্সার, অন্যান্য জিনিসের মধ্যে সংগ্রহস্থল প্রয়োগও পাই।