C:
CSV এর সাথে কাজ করা
কিভাবে:
CSV ফাইল পড়া
C তে একটি CSV ফাইল পড়ার জন্য, আমরা প্রতিটি লাইন পার্স করতে মানক ফাইল I/O ফাংশন এবং স্ট্রিং ম্যানিপুলেশন ফাংশন ব্যবহার করি। নীচে CSV ফাইল পড়ে এবং প্রতিটি রো’এর ফিল্ড কনসোলে প্রিন্ট করার একটি বেসিক উদাহরণ দেওয়া হল।
#include <stdio.h>
#include <string.h>
int main() {
FILE *fp = fopen("data.csv", "r");
if (!fp) {
printf("Can't open file\n");
return 1;
}
char buf[1024];
while (fgets(buf, 1024, fp)) {
char *field = strtok(buf, ",");
while(field) {
printf("%s\n", field);
field = strtok(NULL, ",");
}
}
fclose(fp);
return 0;
}
data.csv
উদাহরণ:
Name,Age,Occupation
John Doe,29,Software Engineer
নমুনা আউটপুট:
Name
Age
Occupation
John Doe
29
Software Engineer
CSV ফাইলে লেখা
একইভাবে, CSV ফাইলে লেখার জন্য fprintf
ব্যবহার করে কমা-পৃথক্ত ফর্ম্যাটে ডেটা সংরক্ষণ করা হয়।
#include <stdio.h>
int main() {
FILE *fp = fopen("output.csv", "w");
if (!fp) {
printf("Can't open file\n");
return 1;
}
char *headers[] = {"Name", "Age", "Occupation", NULL};
for (int i = 0; headers[i] != NULL; i++) {
fprintf(fp, "%s%s", headers[i], (headers[i+1] != NULL) ? "," : "\n");
}
fprintf(fp, "%s,%d,%s\n", "Jane Doe", 27, "Data Scientist");
fclose(fp);
return 0;
}
output.csv
নমুনা বিষয়বস্তু:
Name,Age,Occupation
Jane Doe,27,Data Scientist
গভীর গবেষণা
CSV ফরম্যাট, যদিও সরল মনে হয়, এর সাথে আসে এর নিজস্ব বৈশিষ্ট্যগুলি, যেমন ফিল্ডের ভেতরে কমা সামলানো এবং উদ্ধৃতি দ্বারা ফিল্ডগুলোকে ঘিরে রাখা। প্রদর্শিত মৌলিক উদাহরণগুলি এই ধরনের জটিলতাগুলি বা সম্ভাব্য ত্রুটিগুলি কার্যকরভাবে সামলায় না।
ঐতিহাসিকভাবে, C এ CSV সামলানো বেশিরভাগ ম্যানুয়াল ছিল ভাষার লো-লেভেল প্রকৃতি এবং এই ধরনের কাজের জন্য নির্মিত-ইন হাই-লেভেল অ্যাবস্ট্রাকশনের অভাবের কারণে। এই ম্যানুয়াল ম্যানেজমেন্টে ফাইলগুলি ওপেন করা, লাইন পড়া, স্ট্রিং বিভাজন এবং প্রয়োজন অনুযায়ী ডেটা প্রকার পরিবর্তন অন্তর্ভুক্ত ছিল।
যদিও সরাসরি C তে CSV ফাইল ম্যানিপুলেশন ফাইল I/O এবং স্ট্রিং হ্যান্ডলিং উপর মূল্যবান শিক্ষা অভিজ্ঞতা সরবরাহ করে, কয়েকটি আধুনিক বিকল্প কার্যকারিতা এবং কম ত্রুটি-প্রবণ প্রক্রিয়া অঙ্গীকার করে। libcsv
এবং csv-parser
এর মতো লাইব্রেরিগুলি উদ্ধৃত ক্ষেত্রগুলি এবং কাস্টম ডিলিমিটারগুলির জন্য সমর্থনসহ CSV ফাইল পড়া এবং লেখার জন্য সম্পূর্ণ ফাংশন অফার করে।
পরিবর্তে, যখন এমন ইকোসিস্টেমে কাজ করা যায় যা এটি সমর্থন করে, উচ্চ-স্তরের CSV ম্যানিপুলেশন ফাংশন (পান্ডাস লাইব্রেরি সহ পাইথনের মতো) প্রদান করে এমন ভাষা বা প্ল্যাটফর্মের সাথে ইন্টিগ্রেট করা একটি আরও উৎপাদনশীল পথ হতে পারে CSV প্রক্রিয়াকরণ প্রয়োজন হওয়া প্রয়োগগুলির জন্্য। এই আদান-প্রদান ভাষাগত পদ্ধতি C এর কার্যকারিতা এবং সিস্টেম প্রোগ্রামিং ক্ষমতাগুলি কাজে লাগানোর সময়.