PHP में CSV के साथ कार्य: डेटा पढ़ना, लिखना और प्रसंस्करण

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP में CSV के साथ कार्य: पूर्ण मार्गदर्शिका



CSV (कॉमा-सेपरेटेड वैल्यूज़) — सारणीबद्ध डेटा के आदान-प्रदान के लिए सबसे लोकप्रिय प्रारूपों में से एक है। PHP में CSV के साथ कार्य मूल रूप से लागू किया गया है, बिना अतिरिक्त लाइब्रेरी स्थापित किए। इस लेख में हम सभी पहलुओं को कवर करेंगे: बुनियादी पढ़ने से लेकर बड़ी फ़ाइलों के उन्नत प्रसंस्करण तक।



CSV के साथ कार्य करने के लिए मुख्य फ़ंक्शन



PHP CSV के साथ कार्य करने के लिए दो प्रमुख फ़ंक्शन प्रदान करता है:

  • fgetcsv() — फ़ाइल से CSV पंक्ति पढ़ना
  • fputcsv() — CSV प्रारूप में पंक्ति लिखना


अतिरिक्त रूप से, फ़ाइलों के साथ कार्य करने के लिए मानक फ़ंक्शन का उपयोग किया जाता है: fopen(), fclose(), file()।



PHP में CSV फ़ाइल पढ़ना



CSV पढ़ने का सबसे सरल तरीका fgetcsv() के साथ while लूप का उपयोग करना है:



<?php$filename = 'data.csv';

if (($handle = fopen($filename, 'r')) !== false) { // हेडर पढ़ें (पहली पंक्ति) $headers = fgetcsv($handle, 1000, ','); // शेष पंक्तियाँ पढ़ें while (($row = fgetcsv($handle, 1000, ',')) !== false) { echo "नाम: " . $row[0] . ", ईमेल: " . $row[1] . "<br>"; } fclose($handle);}?>


fgetcsv() के पैरामीटर:

  • handle — फ़ाइल डिस्क्रिप्टर
  • length — पंक्ति की अधिकतम लंबाई (डिफ़ॉल्ट 0 — कोई सीमा नहीं)
  • separator — फ़ील्ड विभाजक (डिफ़ॉल्ट अल्पविराम)
  • enclosure — उद्धरण चिह्न (डिफ़ॉल्ट दोहरे उद्धरण)
  • escape — एस्केप वर्ण (डिफ़ॉल्ट बैकस्लैश)


कस्टम विभाजकों के साथ CSV पढ़ना



सभी CSV अल्पविराम का उपयोग नहीं करते। अक्सर अर्धविराम (;) या टैब का उपयोग होता है:



<?php$handle = fopen('data.tsv', 'r');while (($row = fgetcsv($handle, 1000, "\\t")) !== false) {    print_r($row);}fclose($handle);?>


CSV में डेटा लिखना



fputcsv() फ़ंक्शन स्वचालित रूप से एस्केपिंग और उद्धरणों को संभालता है:



<?php$data = [    ['इवान', 'ivan@example.com', 25],    ['मारिया', 'maria@example.com', 30],    ['पीटर', 'petr@example.com', 28]];

$handle = fopen('users.csv', 'w');

// हेडर लिखेंfputcsv($handle, ['नाम', 'ईमेल', 'आयु']);

// डेटा लिखेंforeach ($data as $row) { fputcsv($handle, $row);}

fclose($handle);echo "CSV फ़ाइल सफलतापूर्वक बनाई गई!";?>


fputcsv() के पैरामीटर:

  • handle — फ़ाइल डिस्क्रिप्टर
  • fields — लिखने के लिए फ़ील्ड की सरणी
  • separator — फ़ील्ड विभाजक
  • enclosure — उद्धरण चिह्न
  • escape — एस्केप वर्ण


डाउनलोड के लिए CSV में डेटा निर्यात



अक्सर CSV उत्पन्न करना और उपयोगकर्ता को डाउनलोड के लिए देना आवश्यक होता है:



<?php$data = [    ['उत्पाद', 'मूल्य', 'मात्रा'],    ['लैपटॉप', 75000, 10],    ['माउस', 1500, 50],    ['कीबोर्ड', 3500, 30]];

header('Content-Type: text/csv; charset=utf-8');header('Content-Disposition: attachment; filename="products.csv"');

$output = fopen('php://output', 'w');// Excel में सिरिलिक वर्णों के सही प्रदर्शन के लिए BOM जोड़ेंfprintf($output, chr(0xEF).chr(0xBB).chr(0xBF));

foreach ($data as $row) { fputcsv($output, $row);}

fclose($output);exit;?>


बड़ी CSV फ़ाइलों का प्रसंस्करण



बड़ी फ़ाइलों (सैकड़ों हज़ार पंक्तियाँ) के साथ कार्य करते समय, पूरी फ़ाइल को मेमोरी में लोड करने से बचना महत्वपूर्ण है। स्ट्रीम प्रसंस्करण का उपयोग करें:



<?phpfunction processLargeCSV($filename, $batchSize = 1000) {    $handle = fopen($filename,                    

अनुशंसाएँ