Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में CSV फाइलों को कैसे पढ़ें और पार्स करें?


आपको C++ में CSV फाइलों को पार्स करने के लिए वास्तव में एक लाइब्रेरी का उपयोग करना चाहिए क्योंकि ऐसे कई मामले हैं जिन्हें आप अपने आप फाइल पढ़ते समय मिस कर सकते हैं। C++ के लिए बूस्ट लाइब्रेरी CSV फाइलों को पढ़ने के लिए वास्तव में अच्छे टूल्स का एक सेट प्रदान करती है। उदाहरण के लिए,

उदाहरण

#include<iostream> vector<string> parseCSVLine(string line){    using namespace boost;    std::vector<std::string> vec;    // इनपुट स्ट्रिंग को टोकनाइज़ करता है    tokenizer<escaped_list_separator<char> > tk(line, escaped_list_separator<char>    ('\\', ',', '\"'));    for (auto i = tk.begin();  i!=tk.end();  ++i)    vec.push_back(*i);    return vec; } int main() {    std::string line = "hello,from,here";    auto words = parseCSVLine(line);    for(auto it = words.begin(); it != words.end(); it++) {       std::cout << *it << std::endl;    } }

आउटपुट

यह आउटपुट देगा:

hello from here

एक और तरीका है एक लाइन को विभाजित करने के लिए डिलीमीटर का उपयोग करना और इसे सरणी में लेना:

उदाहरण

कस्टम डिलीमीटर प्रदान करके स्ट्रिंग को विभाजित करने का एक और तरीका getline फ़ंक्शन का उपयोग करना है:

#include <vector> #include <string> #include <sstream> using namespace std; int main() {    std::stringstream str_strm("hello,from,here");    std::string tmp;    vector<string> words;    char delim = ','; // विभाजित करने के लिए डिलीमीटर परिभाषित करें    while (std::getline(str_strm, tmp, delim)) {       // tmp के लिए उचित चेक यहां प्रदान करें जैसे खाली है या नहीं       // !, ., ?, आदि जैसे सिंबल्स को भी स्ट्रिप करें।       // अंत में पुश करें।       words.push_back(tmp);    }    for(auto it = words.begin(); it != words.end(); it++) {       std::cout << *it << std::endl;    } }

आउटपुट

यह आउटपुट देगा:

hello from here

  1. - C++ में रिलेशनल ऑपरेटर (==) और std::string::compare() में अंतर

    रिलेशनल ऑपरेटर == और std::string::compare() के बीच केवल एक अंतर है। वह है रिटर्न वैल्यू। आंतरिक रूप से, string::operator==() string::compare() का उपयोग कर रहा है। रिलेशनल ऑपरेटर (==) एक बूलियन लौटाता है जो केवल यह दर्शाता है कि 2 स्ट्रिंग्स समान हैं या नहीं, जबकि compare एक इंटीजर लौटाता है जो दर्श

  1. - Python में यूनिकोड (UTF-8) फाइल्स को कैसे पढ़ें और लिखें?

    io मॉड्यूल अब अनुशंसित है और Python 3 के ओपन सिंटैक्स के साथ संगत है: Python में यूनिकोड (UTF-8) फाइल्स को पढ़ने और लिखने के लिए निम्न कोड उपयोग किया जाता है। उदाहरण import io with io.open(filename, r, encoding=utf8) as f: text = f.read() # Unicode text प्रोसेस करें with io.open(filename, w,

  1. - Ruby के साथ CSV फाइलों को आसानी से पढ़ें और पार्स करें

    CSV का अर्थ है "कॉमा-सेपरेटेड वैल्यूज़"। यह एक सामान्य डेटा फॉर्मेट है जिसमें कॉमा से अलग किए गए मानों वाली पंक्तियाँ होती हैं। इसका उपयोग डेटा निर्यात और आयात के लिए किया जाता है। उदाहरण के लिए: आप अपने Gmail संपर्कों को CSV फाइल के रूप में निर्यात कर सकते हैं, और आप उन्हें उसी फॉर्मेट का