एक्सेल के लिए CSV फ़ाइल बनाना, एक वैल्यू के अंदर एक नई लाइन कैसे करें


158

मुझे एक्सेल के लिए एक फ़ाइल उत्पन्न करने की आवश्यकता है, इस फ़ाइल के कुछ मानों में कई लाइनें हैं।

वहाँ भी गैर-अंग्रेजी पाठ है, इसलिए फ़ाइल को यूनिकोड होना चाहिए।

अब मैं जो फ़ाइल जनरेट कर रहा हूँ, वह इस तरह दिखाई देती है: (UTF8 में, गैर अंग्रेजी पाठ में मिश्रित और बहुत सी पंक्तियों के साथ)

Header1,Header2,Header3
Value1,Value2,"Value3 Line1
Value3 Line2"

ध्यान दें कि मल्टी-लाइन वैल्यू डबल कोट्स में संलग्न है, इसमें एक सामान्य रोजमर्रा की नईलाइन है।

वेब पर मैंने जो पाया, उसके अनुसार यह काम करना था, लेकिन यह कम से कम Excel 2007 और UTF8 फ़ाइलों को नहीं जीतता है, Excel तीसरी पंक्ति को डेटा की दूसरी पंक्ति के रूप में मानता है न कि पहली डेटा पंक्ति की दूसरी पंक्ति के रूप में। ।

इसे मेरे ग्राहक की मशीनों पर चलना होगा और एक्सेल के उनके संस्करण पर मेरा कोई नियंत्रण नहीं है, इसलिए मुझे एक समाधान की आवश्यकता है जो एक्सेल 2000 और बाद में काम करेगा।

धन्यवाद

संपादित करें: मैंने दो CSV विकल्प, एक्सेल के लिए एक (यूनिकोड, टैब अलग, क्षेत्रों में कोई नई सीमा नहीं) और शेष दुनिया के लिए एक (UTF8, मानक CSV) होने से मेरी समस्या का "हल" किया।

वह नहीं जिसे मैं ढूंढ रहा था लेकिन कम से कम यह काम करता है (अब तक)


1
FYI करें: यह सभी लिबर ऑफिस में पूरी तरह से काम करता है और CSV को आयात करना पहले स्थान पर बहुत आसान है।
user2061057

9
अतिरिक्त स्थानों के बारे में स्वीकृत उत्तर अविश्वसनीय रूप से अब भ्रमित करने वाला है कि आपने अपने प्रश्नों को संपादित किया है और रिक्त स्थान को हटा दिया है ...
मत्ती विरक्कुनेन

जवाबों:


70

आपके पास फ़ील्ड्स के प्रारंभ में स्थान वर्ण होना चाहिए जहाँ केवल स्थान वर्ण डेटा का हिस्सा हैं। एक्सेल अग्रणी स्थानों को बंद नहीं करेगा। आपको अपने शीर्षकों और डेटा फ़ील्ड में अवांछित स्थान मिलेंगे। इससे भी बदतर, "कि तीसरे स्तंभ में उस लाइन-ब्रेक को "संरक्षित" किया जाना चाहिए , क्योंकि इसे फ़ील्ड की शुरुआत में नहीं देखा जाएगा।

यदि आपके पास गैर-ASCII वर्ण हैं (फ़ाइल में UTF-8 में एन्कोडेड), तो फ़ाइल hex EF BB BFके प्रारंभ में आपके पास UTF-8 BOM (3 बाइट्स ) होना चाहिए । अन्यथा Excel utf-8 के बजाय आपके स्थान के डिफ़ॉल्ट एन्कोडिंग (जैसे cp1252) के अनुसार डेटा की व्याख्या करेगा, और आपके गैर-ASCII वर्ण ट्रैश किए जाएंगे।

निम्नलिखित टिप्पणियाँ Excel 2003, 2007 और 2013 पर लागू होती हैं; एक्सेल 2000 पर परीक्षण नहीं किया गया

यदि आप विंडोज एक्सप्लोरर में इसके नाम पर डबल-क्लिक करके फ़ाइल खोलते हैं, तो सब कुछ ठीक है।

यदि आप इसे एक्सेल के भीतर से खोलते हैं, तो परिणाम भिन्न होते हैं:

  1. फ़ाइल में आपके पास केवल ASCII वर्ण हैं (और BOM नहीं): काम करता है।
  2. आपके पास फ़ाइल में गैर-ASCII वर्ण (UTF-8 में एन्कोडेड) है, शुरुआत में UTF-8 BOM के साथ: यह मानता है कि आपका डेटा UTF-8 में एन्कोडेड है, लेकिन यह csv एक्सटेंशन को अनदेखा करता है और आपको पाठ में छोड़ देता है आयात नहीं-ए-विज़ार्ड , दुर्भाग्य से इस परिणाम के साथ कि आपको लाइन-ब्रेक समस्या मिलती है।

विकल्पों में शामिल हैं:

  1. Excel के भीतर से फ़ाइलों को नहीं खोलने के लिए उपयोगकर्ताओं को प्रशिक्षित करें :-(
  2. सीधे XLS फाइल लिखने पर विचार करें ... पायथन / पर्ल / PHP / .NET / आदि में करने के लिए पैकेज / लाइब्रेरी उपलब्ध हैं।

1
धन्यवाद, मैंने प्रश्न में प्रमुख रिक्त स्थान के मुद्दे को तय किया, मैंने सीएसवी उदाहरण को मैन्युअल रूप से टाइप किया और वास्तविक फ़ाइल से कॉपी-पेस्ट नहीं किया, वास्तविक फ़ाइल में उन रिक्त स्थान शामिल नहीं हैं, अच्छी पकड़।
Nir

@ नीर: अब आप अपनी असली समस्या के बारे में बात करते हैं। तो इसका मतलब है कि आपके पास एक UTF-8 BOM था, और उसने एक्सेल के भीतर से फाइल खोली और टेक्स्ट इम्पोर्ट विजार्ड को यह पहचानने में मदद मिली कि आपके Value3 के न्यूलाइन को "सुरक्षित" होना चाहिए - सही? या शायद आपके पास UTF-8 BOM नहीं था और आपको TIW को बताना था कि आपका डेटा UTF-8 एनकोडेड था और इसने अभी भी नई रेखा को उलझा दिया है?
जॉन माकिन

क्या होगा अगर मैं उपयोग करना चाहता हूँ | एक फ़ील्ड विभाजक के रूप में, एक रिकॉर्ड विभाजक के रूप में नई लाइन, "फ़ील्ड फ़ील्ड की सामग्री की सुरक्षा के लिए" का उपयोग करें, और टेक्स्ट फ़ील्ड में हो सकता है | |, और नई लाइन। क्या यह संभव है?
जियोर्जियो

1
FYI करें: मुझे Red200 सिस्टम से निर्यात किया गया Excel2007 और CSV मिला है। UTF-8 BOM (EFBBBF) को अपनी शुरुआत में जोड़ने के बाद, Excel ने फ़ाइल को पूरी तरह से खोल दिया। "इश्यू डिस्क्रिप्शन" कोलनम में एम्बेडेड नई लाइनों को सही तरीके से संसाधित किया जाता है, और पंक्ति संरचना क्षतिग्रस्त नहीं होती है, और सभी राष्ट्रीय पात्रों को ठीक से पढ़ा जाता है (यूटीएफ 8 बीओएम के बिना पढ़ते समय उन्हें ट्रैश किया गया था)। Excel ने पाठ-आयात विज़ार्ड भी प्रदर्शित नहीं किया है। वर्तमान में, CSV में अब EFBBBFहेडर है, 0Aपंक्ति विभाजक के 0D0Aरूप में और पाठ कोशिकाओं में तार के अंदर नई पंक्ति के रूप में उपयोग करता है।
क्विटज़ालकोटल

1
यदि आप ओएस एक्स के लिए एक्सेल को सही ढंग से पढ़ने के लिए, साथ ही साथ विंडोज के लिए एक्सेल प्राप्त करने की कोशिश कर रहे हैं , तो यहां एक शानदार संसाधन है: stackoverflow.com/questions/4348802/…
एलेक्जेंडर आर। जेनिनी

25

बहुत सारे ट्विक करने के बाद, यहां एक कॉन्फ़िगरेशन है जो लिनक्स पर फाइलें बनाने का काम करता है, विंडोज + एक्सेल पर पढ़ना, हालांकि एम्बेडेड न्यूलाइन प्रारूप मानक के अनुसार नहीं है :

  • किसी फ़ील्ड के भीतर की सीमाओं को \ n होना चाहिए (और स्पष्ट रूप से दोहरे उद्धरणों में उद्धृत)
  • रिकॉर्ड का अंत: \ r \ n
  • सुनिश्चित करें कि आप एक फ़ील्ड को समान के साथ शुरू नहीं करते हैं, अन्यथा इसे एक सूत्र के रूप में माना जाता है और काट दिया जाता है

पर्ल में, मैंने टेक्स्ट :: CSV का उपयोग इस प्रकार किया है:

use Text::CSV;

open my $FO, ">:encoding(utf8)", $filename or die "Cannot create $filename: $!";
my $csv = Text::CSV->new({ binary => 1, eol => "\r\n" });

#for each row...:
$csv -> print ($FO, \@row);

3
हाँ उस \ r \ n ने किया। मैं Windows + Excel, OSX + नंबर और Google डॉक्स के साथ इस काम की पुष्टि कर सकता हूं।
योरिक सिजलिंग

3
\ N के साथ संलग्न फ़ील्ड में \ n (try \ n) का भी उपयोग कर रहे हैं, और पंक्तियों को डिवाइड करने के लिए \ r \ n का उपयोग कर रहे हैं। फिर भी Excel 2010 में मेरे लिए यह समस्या ठीक नहीं हुई। मैंने ANSI और UTF8-with-BOM की कोशिश की है। कोई सफलता नहीं
nl-x

1
लेकिन यह है क्योंकि मैं का उपयोग करें | क्षेत्र विभाजक के रूप में। अगर मैं उपयोग करता हूं; फ़ील्ड विभाजक के रूप में, CSV डेटा आयात करते समय समस्या अभी भी मौजूद है, लेकिन CSV को फ़ाइल एक्सप्लोरर में डबल क्लिक करके खोलने पर समस्या गायब हो जाती है।
लक्स-एक्स

2
Ian का जवाब मेरे लिए Excel 2003/2010 में Windows 7 पर काम नहीं कर रहा है। मैंने अपने UTF-8 BOM फ़ाइल को संपादित करने के लिए एक हेक्स संपादक का उपयोग करने की कोशिश की और 0D (बिट) (0 r \ n) से 0D (\ r) को हटा दिया। खेतों के भीतर newlines के लिए। लेकिन यह काम नहीं करता है।
दान डब्ल्यू

इस जवाब ने मेरे लिए काम किया (शून्य संशोधनों के साथ!) एक्सेल 2010 और वंडोज़ 7 का उपयोग करके; यह भी perl v5.14.2 का उपयोग करते हुए कि cygwin के साथ जहाज। मेरे एम्बेडेड newlines सभी थे \n। धन्यवाद
ardnew

21

हाल ही में मुझे इसी तरह की समस्या थी, मैंने इसे एक HTML फ़ाइल आयात करके हल किया , आधारभूत उदाहरण इस तरह होगा:

<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
  <head>
    <style>
      <!--
      br {mso-data-placement:same-cell;}
      -->
    </style>
  </head>
  <body>
    <table>
      <tr>
        <td>first line<br/>second line</td>
        <td style="white-space:normal">first line<br/>second line</td>
      </tr>
    </table>
  </body>
</html>

मुझे पता है, यह एक सीएसवी नहीं है, और एक्सेल के विभिन्न संस्करणों के लिए अलग तरह से काम कर सकता है, लेकिन मुझे लगता है कि यह एक कोशिश के लायक है।

आशा है कि ये आपकी मदद करेगा ;-)


35
@GusDeCooL ओपी के पहले वाक्य का शब्द "मुझे एक्सेल के लिए एक फ़ाइल बनाने की आवश्यकता है, इस फ़ाइल के कुछ मानों में कई लाइनें हैं।" सुझाव देता है कि शायद इसे CSV फ़ाइल होने की आवश्यकता नहीं है। इसके अलावा, क्यू एंड ए प्रारूप अन्य पाठकों के लिए भी लागू होता है, और यह उनमें से कुछ के लिए एक व्यवहार्य विकल्प हो सकता है (भले ही ओपी को सीएसवी का उपयोग करना था)। मुझे आपका अपमान अनुचित लगता है (फिर भी, आपको समझाने के लिए धन्यवाद)।
dtldarek

1
यह वास्तव में मेरे लिए सबसे अच्छा विकल्प था; यह सुझाव देने के लिए धन्यवाद!
जॉर्डन ग्रे

8

यह ध्यान देने योग्य है कि जब एक .CSV फ़ाइल में दोहरे कोट्स में लिपटे हुए फ़ील्ड होते हैं जिसमें लाइन ब्रेक होते हैं, तो Excel .CSV फ़ाइल को ठीक से आयात नहीं करेगा यदि .CSV फ़ाइल UTF-8 प्रारूप में लिखी गई हो। एक्सेल लाइन ब्रेक को मान लेता है जैसे कि वह CR / LF था और एक नई लाइन शुरू करता है। स्प्रेडशीट को गरबा किया गया है। यह सच भी प्रतीत होता है, भले ही अर्ध-कॉलोन का उपयोग क्षेत्र के सीमांकक (अल्पविराम के बजाय) के रूप में किया जाता है।

.CSV फ़ाइल को संपादित करने के लिए, Windows> फ़ाइल के रूप में फ़ाइल> इस रूप में सहेजें ... का उपयोग करके, और फ़ाइल को सहेजने से पहले, फ़ाइल को बचाने के लिए UTF-8 से ANSI में बदलकर समस्या का समाधान किया जा सकता है। एक बार जब फ़ाइल एएनएसआई प्रारूप में सहेजी जाती है, तो मुझे पता चलता है कि विंडोज 7 प्रोफेशनल पर चलने वाला माइक्रोसॉफ्ट एक्सेल 2013 फ़ाइल को ठीक से आयात करेगा।


7

यदि आप अर्धविराम को विभाजक के रूप में, अल्पविराम या टैब के बजाय और उद्धरणों का उपयोग करते हैं, तो मान के अंदर की नई पंक्ति काम करती है।

यह मेरे लिए एक्सेल 2010 और एक्सेल 2000 दोनों में काम करता है। हालांकि, आश्चर्यजनक रूप से, यह केवल तभी काम करता है जब आप फ़ाइल को एक नई स्प्रेडशीट के रूप में खोलते हैं, न कि तब जब आप इसे डेटा आयात सुविधा का उपयोग करके किसी मौजूदा स्प्रेडशीट में आयात करते हैं।


हाँ, लेकिन तब मुझे एक्सेल में अर्धविराम के साथ अंतिम पंक्ति बनाने का विकल्प नहीं मिला
GusDeCooL

क्या होगा यदि कुछ वास्तविक पाठ डेटा में अर्ध उपनिवेश हैं? यह काम नहीं करेगा।
htm11h

4

एक पीसी पर, ASCII वर्ण # 10 वह है जो आप एक मान के भीतर एक नई रेखा रखना चाहते हैं।

एक बार जब आप इसे एक्सेल में ले लेते हैं, हालाँकि, आपको यह सुनिश्चित करने की ज़रूरत होती है कि मल्टी-लाइन कोशिकाओं के लिए वर्ड रैप चालू हो या नई लाइन स्क्वायर बॉक्स के रूप में दिखाई दे।


3

यदि आप फ़ाइल को EXCEL में आयात करने का प्रयास करते हैं तो यह काम नहीं करेगा।

फ़ाइल एक्सटेंशन csv को EXCEL.EXE के साथ संबद्ध करें ताकि आप CSC फाइल पर डबल-क्लिक करके EXCEL को आमंत्रित कर सकें।

यहाँ मैं NewLine Char द्वारा कुछ पाठ और उसके बाद कुछ और पाठ और दोहरे उद्धरण चिह्नों के साथ पूरे स्ट्रिंग को संलग्न करते हुए कुछ पाठ रखता हूँ।

एक सीआर का उपयोग न करें क्योंकि EXCEL अगले सेल में स्ट्रिंग का हिस्सा रखेगा।

""text" + NL + "text""

जब आप EXCEL का आह्वान करते हैं, तो आप इसे देखेंगे। आपको यह सब देखने के लिए ऊंचाई को ऑटो आकार देना पड़ सकता है। जहां लाइन ब्रेक सेल की चौड़ाई पर निर्भर करेगा।

2

तारीख

यहाँ बेसिक में कोड है

CHR$(34,"2", 10,"DATE", 34)

2

मुझे यह मिला और इसने मेरे लिए काम किया है

$delimiter = ',';
$enc1 = '"';
$enc2 = '""';

फिर जहां आपको सामान संलग्न करना होगा

$myfile = ('/path/to/myfile.csv');
//erase any previous contents
$fp = fopen($myfile, 'w+');
fwrite($fp, $enc1 .  'Column Heading 1' . $enc1 . $delimiter );
//append to new file
$fp2 = fopen($myfile, 'a');
fwrite($fp2, $enc1 .  'Column Heading 2' . $enc1 . $delimiter );

.....

fwrite($fp2, $enc1 .  'Last Column Heading' . $enc1 . $delimiter. PHP_EOL );

तब जब आपको कुछ लिखने की आवश्यकता होती है - जैसे कि HTML में "आप यह कर सकते हैं" शामिल हैं

fwrite($fp2, $enc2 .  $myhtmlstring . $enc2 . $delimiter);

नई लाइनें खत्म होती हैं . PHP_EOL

स्क्रिप्ट का अंत लिंक को प्रिंट करता है ताकि उपयोगकर्ता फ़ाइल डाउनलोड कर सके।

echo 'Click <a href="myfile.csv">here</a> to download file';

1

UTF फाइलें जिनमें BOM होती है, वह एक्सेल को नई लाइनों का इलाज करने के लिए प्रेरित करेगी, भले ही उस क्षेत्र में उद्धरणों से घिरा हो। (एक्सेल 2008 मैक का परीक्षण किया गया)

समाधान यह है कि किसी भी नई लाइनों को एक लाइन फीड के बजाय एक गाड़ी वापसी (सीएचआर 13) बनाया जाए।


लगता है कि एक्सेल २०१६ मेरी CSV फ़ाइल को सही ढंग से व्यवहार करता है, भले ही उसमें UTF8 BOM हो। हालांकि क्या सभी अंतर का उपयोग कर रहा है ';' एक फ़ील्ड विभाजक के रूप में (जो एक्सेल सभी स्थानों के लिए करता है जो ',' एक दशमलव विभाजक के रूप में) है।
शराब

1

इसका परीक्षण करें: यह पूरी तरह से मेरे लिए काम करता है: एक xxxx.csvफ़ाइल में निम्नलिखित पंक्तियाँ डालें

hola_x,="este es mi text1"&CHAR(10)&"I sigo escribiendo",hola_a

hola_y,="este es mi text2"&CHAR(10)&"I sigo escribiendo",hola_b

hola_z,="este es mi text3"&CHAR(10)&"I sigo escribiendo",hola_c

एक्सेल के साथ खोलें।

कुछ मामलों में सीधे खुल जाएगा अन्यथा डेटा रूपांतरण के लिए कॉलम का उपयोग करने की आवश्यकता होगी। कॉलम की चौड़ाई का विस्तार करें और रैप टेक्स्ट बटन को हिट करें। या प्रारूप कोशिकाओं और लपेटो पाठ को सक्रिय करें।

और अन्य सुझावों के लिए धन्यवाद, लेकिन उन्होंने मेरे लिए काम नहीं किया। मैं एक शुद्ध विंडोज़ env में हूँ, और यूनिकोड या अन्य मज़ेदार चीज़ के साथ नहीं खेलना चाहता।

इस तरह आप सीएसवी से एक्सेल तक का फॉर्मूला डाल रहे हैं। इस पद्धति के लिए कई उपयोग हो सकते हैं। (नोट = उद्धरण से पहले)

pd: अपने सुझावों में कृपया केवल कोड ही नहीं डेटा के कुछ नमूने भी रखें।


1

प्रत्येक पंक्ति के अंत में "\ r" डालने से वास्तव में एक्सेल में लाइन ब्रेक का प्रभाव पड़ता था, लेकिन .csv में यह गायब हो गया और एक बदसूरत गड़बड़ हो गई, जहां प्रत्येक पंक्ति को अगले स्थान पर बिना किसी स्थान और लाइन-ब्रेक के साथ स्क्वैश किया गया था


0

जिस तरह से हम इसे करते हैं (हम VB.Net का उपयोग करते हैं) उस पाठ को Chr (34) में नई पंक्तियों के साथ संलग्न करना है जो कि दोहरे कोट्स का प्रतिनिधित्व करने वाला चार्ट है और LF के लिए सभी CR-LF वर्णों को प्रतिस्थापित करता है।


0

आम तौर पर एक नई लाइन "\ r \ n" है। मेरे CSV में, मैंने खाली मान के साथ "r" को बदल दिया। यहाँ जावास्क्रिप्ट में कोड है:

cellValue = cellValue.replace(/\r/g, "")

जब मैंने MS Excel में CSV खोला, तो इसने अच्छा काम किया। यदि किसी मूल्य में कई लाइनें हैं, तो यह एक्सेल शीट में 1 एकल कक्ष के भीतर रहेगा।


0

केवल फ़ाइल खोलने के लिए , वाक्यविन्यास है

 ,"one\n
 two",...

महत्वपूर्ण बात यह है कि पहले "," के बाद कोई स्थान नहीं है । आम तौर पर रिक्त स्थान ठीक हैं, और अगर छटनी नहीं है तो छंटनी की जाती है। लेकिन अन्यथा बुरा। मुझे पता करने के लिए कुछ समय लगा।

यदि रेखा समाप्त हो गई है, तो यह कोई बात नहीं लगती है।

सुनिश्चित करें कि आप सूत्र पट्टी का विस्तार करते हैं ताकि आप वास्तव में सेल में पाठ देख सकें (मुझे एक लंबे दिन के बाद मिला ...)

अब, निश्चित रूप से, फ़ाइल ओपन UTF-8 का उचित रूप से समर्थन नहीं करेगा (जब तक कि कोई चाल का उपयोग नहीं करता है)।

एक्सेल> डेटा> बाहरी डेटा प्राप्त करें > पाठ से

UTF-8 मोड में सेट किया जा सकता है (यह फोंट की सूची के नीचे है)। हालाँकि, उस स्थिति में नई लाइनें काम नहीं करती हैं और मुझे पता है कि इसे ठीक करने का कोई तरीका नहीं है।

(एक बात हो सकती है कि 30 साल बाद एमएस को यह सामान सही मिले।)


0

फ़ाइल आयात करते समय Excel 365 में:

डेटा -> पाठ / सीएसवी से -> फ़ाइल का चयन करें> डेटा ट्रांसफ़ॉर्म करें -> डेटा स्रोत कॉन्फ़िगरेशन -> डेटा स्रोत का चयन करें -> क्लिक करें संपादित करें स्रोत -> लाइन ब्रेक ड्रॉपडाउन में उद्धरणों के अंदर इग्नोर लाइन ब्रेक का चयन करें।

उपरोक्त पाठ पुर्तगाली से अनुवादित किया गया था ताकि अंग्रेजी में शब्दांकन अलग हो सके।


-1

आप अगले कर सकते हैं "\"Value3 Line1 Value3 Line2\""। यह मेरे लिए जावा में एक सीएसवी फ़ाइल उत्पन्न करने के लिए काम करता है


-2

यहाँ जावास्क्रिप्ट का उपयोग कर एक दिलचस्प तरीका है ...

  String.prototype.csv = String.prototype.split.partial(/,\s*/);  

  var results = ("Mugan, Jin, Fuu").csv();                        

  console.log(results[0]=="Mugan" &&                                   
         results[1]=="Jin" &&                                     
         results[2]=="Fuu",                                       
         "The text values were split properly");                  

-3

<br/>सामग्री में HTML न्यूलाइन प्रिंट करना और एक्सेल में खोलना किसी भी एक्सेल पर ठीक काम करेगा


-3

आप कीबोर्ड शॉर्टकट ALT + Enter का उपयोग कर सकते हैं।

  1. उस सेल का चयन करें जिसे आप संपादित करना चाहते हैं
  2. संपादन मोड दर्ज करें या तो डबल क्लिक करके या F2 3. दबाएं Alt + दर्ज करें। यह सेल में एक नई लाइन बनाएगा

आप इसे सीवीएस फ़ाइल पीढ़ी में कैसे एकीकृत करते हैं?
जीकुजा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.