CSV के लिए मुझे किस प्रकार का उपयोग करना चाहिए?


454

मैंने application/csvइस्तेमाल किया है और देखा भी है text/csv

क्या फर्क पड़ता है? क्या कोई अंतर है? क्या यह मायने रखता है कि जब तक अनुरोध कुछ ऐसा है जो उपलब्ध है? क्या वे विनिमेय हैं?

जवाबों:


623

आरएफसी 7111

एक आरएफसी है जो इसे कवर करता है और उपयोग करने के लिए कहता है text/csv

यह RFC 4180 RFC को अपडेट करता है।


एक्सेल

हाल ही में मैंने एक्सेल एप्लिकेशन / vnd.ms-excel के लिए एक स्पष्ट mimetype की खोज की। यह I96 के साथ '96 में पंजीकृत था । प्रेषक की दया पर होने और आपकी मशीन के उल्लंघन के बारे में उठाई गई चिंताओं पर ध्यान दें ।

मीडिया प्रकार: आवेदन / vnd.ms-excel

नाम Microsoft Excel (tm)

आवश्यक पैरामीटर: कोई नहीं

वैकल्पिक पैरामीटर: नाम

एन्कोडिंग विचार: base64 पसंदीदा

सुरक्षा विचार: अधिकांश एप्लिकेशन प्रकारों के साथ यह डेटा एक प्रोग्राम द्वारा व्याख्या के लिए अभिप्रेत है जो प्राप्तकर्ता के सिस्टम पर डेटा को समझता है। प्राप्तकर्ता को यह समझने की आवश्यकता है कि वे इस प्रकार के डेटा प्राप्त करते समय प्रेषक की "दया" पर हैं, क्योंकि उनके सिस्टम पर डेटा निष्पादित किया जाएगा, और उनकी मशीनों की सुरक्षा का उल्लंघन किया जा सकता है।

OID {org-id ms-files (4) ms-excel (3)}

ऑब्जेक्ट प्रकार स्प्रेडशीट

टिप्पणियाँ यह मीडिया प्रकार / OID का उपयोग Microsoft Excel को सामान्य रूप से पहचानने के लिए किया जाता है (अर्थात, संस्करण, उपप्रकार, या प्लेटफ़ॉर्म प्रारूप से स्वतंत्र)।

मुझे पता नहीं था कि वेंडर एक्सटेंशन की अनुमति थी। की जाँच करें इस उत्तर के लिए धन्यवाद - अधिक जानने के लिए starbeamrainbowlabs संदर्भ के लिए।


39
CSV एक टेक्स्ट फ़ाइल प्रारूप है, एक्सेल का इससे कोई लेना-देना क्यों है, या क्या मुझे कुछ याद आ रहा है?
जिम्मीपेना

25
यह एक प्रोग्राम एक फ़ाइल प्रकार को खोलता है जिसका उस फ़ाइल प्रकार के संबद्ध MIME प्रकार से कोई लेना-देना नहीं है।
पाब्लो पज़ोस

7
@ पाब्लो I के पास एक्सेल एक विंडोज मशीन पर स्थापित है, और नोटपैड ++ में एक सीएसवी बनाने से एक MIME प्रकार का एप्लिकेशन / vnd.ms-excel असाइन होगा। इसे अपने लिए आज़माएँ और अपने MIME प्रकार की जाँच करें mime.ritey.com
pjd

20
नोटपैड ++ किसी भी माइम प्रकार को "असाइन" नहीं करता है, आपके द्वारा उपयोग की जाने वाली सेवा इसे असाइन कर रही है।
पाब्लो पाज़ोस

14
वाह, बहुत सारे लोग बट उल्लेख पर चोट लगी है vnd.ms-excel। +1, मैंने सोचा कि यह एक दिलचस्प पक्ष नोट है;)
वेस्ले स्मिथ

95

आपको RFC 4180 के अनुसार "टेक्स्ट / सीएसवी" का उपयोग करना चाहिए ।


1
क्या "पाठ / सीएसवी" ".txt" फाइलों को भी स्वीकार करता है? मैं केवल ".csv" फ़ाइल प्रकारों को स्वीकार करने के लिए सर्वर साइड पर सत्यापन लागू करने पर काम कर रहा हूं। लेकिन ".txt" फाइलें भी स्वीकार हो जाती हैं। कृपया पुष्टि करें।
सुकन्यापाय

1
क्षमा करें, लेकिन आपके प्रश्न को अब तक नहीं देखा है। RFC 4180 यह सुनिश्चित करता है कि एक्सटेंशन .csv होना चाहिए। फिर भी आप जान सकते हैं, यह कोई सख्त आवश्यकता नहीं है। आप RFC 4180 के कार्यान्वयन को तोड़ सकते हैं, लेकिन व्यक्तिगत रूप से मैं ऐसा नहीं करूंगा, क्योंकि यह एप्लिकेशन की पठनीयता को परेशान कर रहा है।
स्मोकफुट

48

इसके साथ अजीब व्यवहार MS Excel: यदि मैं "पाठ आधारित, अल्पविराम से अलग किए गए प्रारूप ( csv)" पर निर्यात करता हूं तो यह मेरे वेबसर्वर पर अपलोड करने के बाद मिलने वाला माइम-प्रकार है:

[name] => data.csv
[type] => application/vnd.ms-excel

इसलिए Microsoft मौजूदा मानकों की परवाह किए बिना फिर से अपनी चीजें करता हुआ प्रतीत होता है: https://en.wikipedia.org/wiki/Comma-separated_values


4
आप वास्तव में वेब क्लाइंट द्वारा भेजे गए माइम-प्रकार पर भरोसा नहीं कर सकते हैं, यह आमतौर पर एक गाइड है।
बजे क्रिस सेफ़र्ट

5
यह वेब-सर्वर के कॉन्फ़िगरेशन के कारण है जो फ़ाइल एक्सटेंशन को माइम प्रकार में मैप करता है। माइक्रोसाफ्ट आईआईएस को इसके लिए सर्वर रजिस्ट्री का उपयोग करना चाहिए जो कि एक्सेल इंस्टॉलेशन द्वारा पॉपुलेटेड है यदि यह वेब सर्वर पर स्थापित है।
एंड्रयू रसेल

5
खैर ... यह मानते हुए कि "मौजूदा मानक" ने यह अनदेखी करने का फैसला किया कि जब वे पहले से ही उपयोग में थे, तो उन्होंने CSV को RFC 4180 में परिभाषित करने का फैसला किया, जो कि 2005 के अक्टूबर में लिखा गया था, यह भविष्य में नहीं कूदने के लिए Microsoft को दोषी ठहराना मूर्खतापूर्ण होगा। देखें कि मानक निकाय क्या निर्णय लेते हैं और फिर 1985 में जब उन्होंने पहली बार एक्सेल बैक लिखा था, तो उस बैक का उपयोग करें। एक्सेल का कौन सा संस्करण स्थापित कर रहे हैं?
राबर्ट मैककी

1
अन्य सभी चीज़ों के ऊपर, CSV फ़ाइल में फ़ील्ड मानों को एक्सेल करेगा।
रॉनी ओवरबीएल

35

मेरे उपयोगकर्ताओं को CSV फ़ाइलों को अपलोड करने की अनुमति है text/csvऔर application/csvवे अब तक दिखाई नहीं दिए हैं। ये एफआईएफओ () के माध्यम से पहचाने गए हैं :

text/plain
text/x-csv

और ये ब्राउज़र के माध्यम से प्रेषित होते हैं:

text/plain
application/vnd.ms-excel
text/x-csv

निम्नलिखित प्रकार प्रकट नहीं हुए, लेकिन हो सकते हैं:

application/csv
application/x-csv
text/csv
text/comma-separated-values
text/x-comma-separated-values
text/tab-separated-values

1
ब्राउज़रों का अनुमान है कि अपलोड के दौरान फ़ाइल के MIME प्रकार के रूप में क्या भेजा जाए। आप उन लोगों को अस्वीकार कर सकते हैं जिन्हें आप कुछ नहीं करना चाहते हैं, लेकिन फ़ाइल की वास्तविक सामग्री की देखभाल के साथ जांच करना एकमात्र तरीका है जो यह सुनिश्चित करता है कि अपलोड किया गया है।
ततसुजीन नं ओनी

पाठ / टैब-अलग-मान तकनीकी रूप से CSV फ़ाइल नहीं है; या क्या आपका मतलब है कि आप इसे अल्पविराम से अलग किए गए डेटा के लिए भी प्राप्त कर सकते हैं?
आर्थर

@Arthur एक अतिरिक्त TSV फ़ाइल श्रेणी का उपयोग करने के लिए स्वतंत्र महसूस करें। मैं अन्य शर्तों को अनदेखा करता हूं क्योंकि कई प्रोग्राम .csv एक्सटेंशन के साथ एक फाइल बनाते हैं, कोई फर्क नहीं पड़ता कि कौन सी सीमांकक का उपयोग किया गया है और PHP - सबसे अधिक उपयोग की जाने वाली सर्वर-साइड भाषा के रूप में- इसमें केवल CSV शब्द का उपयोग किया गया है। इसे "चरित्र से अलग की गई फ़ाइलें"
कहें

0

* .Csv फ़ाइलों के लिए Google API mimeType से संघर्ष करने वाले किसी भी व्यक्ति के लिए। मुझे Google एपीआई डॉक्स फ़ाइलों के लिए MIME प्रकारों की सूची मिली है (स्निप्ड परिणाम देखें)

<table border="1"><thead><tr><th>Google Doc Format</th><th>Conversion Format</th><th>Corresponding MIME type</th></tr></thead><tbody><tr><td>Documents</td><td>HTML</td><td>text/html</td></tr><tr></tr><tr><td></td><td>HTML (zipped)</td><td>application/zip</td></tr><tr><td></td><td>Plain text</td><td>text/plain</td></tr><tr><td></td><td>Rich text</td><td>application/rtf</td></tr><tr><td></td><td>Open Office doc</td><td>application/vnd.oasis.opendocument.text</td></tr><tr><td></td><td>PDF</td><td>application/pdf</td></tr><tr><td></td><td>MS Word document</td><td>application/vnd.openxmlformats-officedocument.wordprocessingml.document</td></tr><tr><td></td><td>EPUB</td><td>application/epub+zip</td></tr><tr><td>Spreadsheets</td><td>MS Excel</td><td>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</td></tr><tr><td></td><td>Open Office sheet</td><td>application/x-vnd.oasis.opendocument.spreadsheet</td></tr><tr><td></td><td>PDF</td><td>application/pdf</td></tr><tr><td></td><td>CSV (first sheet only)</td><td>text/csv</td></tr><tr><td></td><td>TSV (first sheet only)</td><td>text/tab-separated-values</td></tr><tr><td></td><td>HTML (zipped)</td><td>application/zip</td></tr><tr></tr><tr><td>Drawings</td><td>JPEG</td><td>image/jpeg</td></tr><tr><td></td><td>PNG</td><td>image/png</td></tr><tr><td></td><td>SVG</td><td>image/svg+xml</td></tr><tr><td></td><td>PDF</td><td>application/pdf</td></tr><tr><td>Presentations</td><td>MS PowerPoint</td><td>application/vnd.openxmlformats-officedocument.presentationml.presentation</td></tr><tr><td></td><td>Open Office presentation</td><td>application/vnd.oasis.opendocument.presentation</td></tr><tr></tr><tr><td></td><td>PDF</td><td>application/pdf</td></tr><tr><td></td><td>Plain text</td><td>text/plain</td></tr><tr><td>Apps Scripts</td><td>JSON</td><td>application/vnd.google-apps.script+json</td></tr></tbody></table>

यहाँ स्रोत: https://developers.google.com/drive/v3/web/manage-downloads#downloading_google_documents के अंतर्गत तालिका: "Google Doc प्रारूप और समर्थित निर्यात MIME प्रकार का नक्शा एक दूसरे को निम्नानुसार"

एक अन्य सूची भी है

<table border="1"><thead><tr><th>MIME Type</th><th>Description</th></tr></thead><tbody><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>audio</span></code></td><td></td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>document</span></code></td><td>Google Docs</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>drawing</span></code></td><td>Google Drawing</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>file</span></code></td><td>Google Drive file</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>folder</span></code></td><td>Google Drive folder</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>form</span></code></td><td>Google Forms</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>fusiontable</span></code></td><td>Google Fusion Tables</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>map</span></code></td><td>Google My Maps</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>photo</span></code></td><td></td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>presentation</span></code></td><td>Google Slides</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>script</span></code></td><td>Google Apps Scripts</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>site</span></code></td><td>Google Sites</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>spreadsheet</span></code></td><td>Google Sheets</td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>unknown</span></code></td><td></td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>video</span></code></td><td></td></tr><tr><td><code><span>application/vnd.<wbr>google-apps.<wbr>drive-sdk</span></code></td><td>3rd party shortcut</td></tr></tbody></table>

यहाँ स्रोत: https://developers.google.com/drive/v3/web/mime-types

लेकिन पहले एक मेरे उपयोग के मामले के लिए अधिक उपयोगी था ..

खुश कोडिंग;)


Stackoverflow के नियमों में अन्य प्लेटफार्मों के लिए लिंक इनलाइन नो लिंक शामिल करना है।
paul_h

@paul_h मैं चाहूंगा, लेकिन कृपया मुझे बताएं कि एसओ के लिए उन तालिकाओं को उचित रूप में कैसे प्रारूपित करें, क्योंकि एसओ अब तालिकाओं का समर्थन नहीं करता है।
लकीलोके 14

1
@paul_h मुझे रास्ता मिल गया है, आशा है कि आप इसे पसंद करेंगे;)
Luckylooke

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