CSV फ़ाइल को सामान्य रूप से कैसे बनाया जाता है? अल्पविराम या अर्धविराम के साथ? किसी भी सलाह जिस पर उपयोग करने के लिए?
;
, जो कि किसी विशिष्ट सेटिंग (एस) को निर्धारित करने के बिना, उबंटू और विंडोज दोनों में स्वचालित रूप से मान्यता प्राप्त है।
CSV फ़ाइल को सामान्य रूप से कैसे बनाया जाता है? अल्पविराम या अर्धविराम के साथ? किसी भी सलाह जिस पर उपयोग करने के लिए?
;
, जो कि किसी विशिष्ट सेटिंग (एस) को निर्धारित करने के बिना, उबंटू और विंडोज दोनों में स्वचालित रूप से मान्यता प्राप्त है।
जवाबों:
विंडोज में यह "रीजनल एंड लैंग्वेज ऑप्शंस" पर आधारित स्क्रीन पर निर्भर करता है, जहां आपको लिस्ट सेपरेटर मिलता है। यह चार विंडोज़ अनुप्रयोग है जो सीएसवी विभाजक होने की उम्मीद करते हैं।
बेशक यह केवल विंडोज अनुप्रयोगों में प्रभाव पड़ता है, उदाहरण के लिए यदि फ़ाइल उपर्युक्त विभाजक का उपयोग नहीं कर रहा है तो एक्सेल स्वचालित रूप से कॉलम में डेटा को विभाजित नहीं करेगा। विंडोज क्षेत्रीय सेटिंग्स का उपयोग करने वाले सभी अनुप्रयोगों में यह व्यवहार होगा।
यदि आप विंडोज के लिए एक प्रोग्राम लिख रहे हैं जिसमें अन्य अनुप्रयोगों में सीएसवी आयात करने की आवश्यकता होगी और आप जानते हैं कि आपके लक्षित मशीनों के लिए सूची विभाजक सेट है ,
, तो इसके लिए जाएं, अन्यथा मैं पसंद करता हूं ;
क्योंकि यह दशमलव बिंदुओं के साथ कम समस्याएं पैदा करता है, अंक समूहीकरण। और ज्यादा पाठ में दिखाई नहीं देता है।
sep=;
तो CSV फ़ाइल के ऊपर रखें।
C
या C++
विंडोज के नीचे प्रोग्रामिंग कर रहे हैं, तो आप सिस्टम-वाइड, या उपयोगकर्ता सीमांकक को पुनः प्राप्त करने के लिए निम्नलिखित एपीआई का उपयोग कर सकते हैं:GetLocaleInfo(lcid, LOCALE_SLIST, buff, _countof(buff));
मैं कहता हूं कि यह अल्पविराम के रूप में पहचाना और समझा जाता है। अपने मूल्यों को उद्धृत करना और अपने उद्धरणों से बचना सुनिश्चित करें।
ID,NAME,AGE
"23434","Norris, Chuck","24"
"34343","Bond, James ""master""","57"
CSV एक मानक प्रारूप है, जिसे RFC 4180 (2005 में) में उल्लिखित किया गया है, इसलिए इसमें मानक की कोई कमी नहीं है। https://www.ietf.org/rfc/rfc4180.txt
और इससे पहले भी, CSV में C हमेशा कॉमा के लिए खड़ा था, सेमीकॉलन के लिए नहीं :(
यह अफ़सोस की बात है कि Microsoft इस बात को नज़रअंदाज़ करता रहता है और अभी भी उस राक्षसी से चिपके रहता है जिसे उन्होंने दशकों पहले बदल दिया था (हाँ, मैं मानता हूँ, जो RFC बनने से पहले था)।
केवल यदि पाठ दोहरे उद्धरण चिह्नों में संलग्न है, तो पाठ में ऐसे उद्धरण चिह्न दोहरीकरण से बच जाते हैं। ये उदाहरण समान तीन क्षेत्रों का प्रतिनिधित्व करते हैं:
1, "इस पाठ में" "उद्धरण चिह्न" "" है, 3
1, इस पाठ में "उद्धरण चिह्न" हैं, 3
मानक दिनांक और समय मानों को कवर नहीं करता है, व्यक्तिगत रूप से मैं दिन / महीने / वर्ष - माह / दिन / वर्ष भ्रम से बचने के लिए आईएसओ 8601 प्रारूप से चिपके रहने की कोशिश करता हूं।
इसके अलावा प्रासंगिक है, लेकिन विशेष रूप से उत्कृष्टता के लिए, इस उत्तर को देखें और यह एक अन्य जो सुझाव देता है, CSV की शुरुआत में एक पंक्ति सम्मिलित करना
"sep=,"
एक्सेल को सूचित करने के लिए जो विभाजक की अपेक्षा करता है
1. .सीएसएसवी (अर्धविराम सीमांकित) के लिए फ़ाइल प्रारूप बदलें
वांछित परिणाम प्राप्त करने के लिए हमें विकल्प delimiter
में सेटिंग को अस्थायी रूप से बदलना होगा Excel
:
Move to File -> Options -> Advanced -> Editing Section
"सिस्टम विभाजक का उपयोग करें" सेटिंग को अनचेक करें और "दशमलव विभाजक" फ़ील्ड में अल्पविराम लगाएं।
अब फाइल को .CSV
फॉर्मेट में सेव करें और इसे सेमीकोलन सीमांकित फॉर्मेट में सेव किया जाएगा।
प्रारंभ में यह एक अल्पविराम होना था, हालांकि अल्पविराम का उपयोग अक्सर दशमलव बिंदु के रूप में किया जाता है यह इतना अच्छा विभाजक नहीं होगा, इसलिए अर्धविराम जैसे अन्य, ज्यादातर देश निर्भर
http://en.wikipedia.org/wiki/Comma-separated_values#Lack_of_a_standard
CSV एक कोमा सेपरेटेड फाइल है। आम तौर पर सीमांकक एक अल्पविराम है, लेकिन मैंने कई अन्य पात्रों को परिसीमाक के रूप में इस्तेमाल करते देखा है। वे बस के रूप में अक्सर इस्तेमाल नहीं कर रहे हैं।
आपको क्या उपयोग करना है, इसकी सलाह देने के लिए, हमें आपका आवेदन जानना होगा। क्या फ़ाइल आपके एप्लिकेशन / प्रोग्राम के लिए विशिष्ट है, या क्या इसे अन्य कार्यक्रमों के साथ काम करने की आवश्यकता है?
"quote"
अपने मूल्यों के रूप में यह बात नहीं होनी चाहिए ।
CSV के लिए डिफ़ॉल्ट एक्सेल विभाजक के रूप में अर्धविराम में अल्पविराम बदलने के लिए - क्षेत्र पर जाएं -> अतिरिक्त सेटिंग्स -> संख्या टैब -> सूची विभाजक और प्रकार; डिफ़ॉल्ट के बजाय,
,
दशमलव विभाजक के रूप में सेट की जाती हैं और ,
जब आप इसे खोलते हैं तो आप स्तंभों से अलग एक फ़ाइल निर्यात करते हैं। एक्सेल में, पाठ केवल एक कॉलम में दिखाई देगा। चुनें> - एक्सेल 2013 में, पहले स्तंभ का चयन करें, डेटा के लिए जाने -> पाठ कॉलम करने के लिए Delimited
, क्लिक करें Next
उसके बाद ही चयन Comma
पर Delimiters
और आप में तुरंत परिवर्तन देखेंगे Data preview
और अंत में क्लिक करेंFinish
केवल अर्धविराम के बारे में कुछ कहने के लिए। बहुत से देश में, अल्पविराम दशमलव अवधि के लिए उपयोग होता है। अधिकतर यूरोपीय संघ की कॉलोनियां, जिनमें आधी दुनिया शामिल है, एक और आधी यूके मानक (कैसे नरक यूके इतनी बड़ी O_O) का अनुसरण करती है, इसलिए बदले में डेटाबेस के लिए अल्पविराम का उपयोग करना शामिल है जिसमें संख्या बहुत अधिक सिरदर्द पैदा करती है क्योंकि एक्सेल इसे सीमांकक के रूप में पहचानने से इनकार करता है। ।
मेरे देश में बुद्धिमान की तरह, वियतनाम, फ्रांस के मानक का पालन करते हैं, हमारे साथी हांगकांग यूके मानक का उपयोग करते हैं, इसलिए अल्पविराम CSV को अनुपयोगी बनाते हैं, और हम \ t या का उपयोग करते हैं; इसके बजाय अंतरराष्ट्रीय उपयोग के लिए, लेकिन यह अभी भी सीएसवी के दस्तावेज़ के अनुसार "मानक" नहीं है।
सबसे अच्छा तरीका यह होगा कि इसे csv एक्सटेंशन वाली टेक्स्ट फाइल में सेव करें:
Sub ExportToCSV()
Dim i, j As Integer
Dim Name As String
Dim pathfile As String
Dim fs As Object
Dim stream As Object
Set fs = CreateObject("Scripting.FileSystemObject")
On Error GoTo fileexists
i = 15
Name = Format(Now(), "ddmmyyHHmmss")
pathfile = "D:\1\" & Name & ".csv"
Set stream = fs.CreateTextFile(pathfile, False, True)
फाइल मौजूद है:
If Err.Number = 58 Then
MsgBox "File already Exists"
'Your code here
Return
End If
On Error GoTo 0
j = 1
Do Until IsEmpty(ThisWorkbook.ActiveSheet.Cells(i, 1).Value)
stream.WriteLine (ThisWorkbook.Worksheets(1).Cells(i, 1).Value & ";" & Replace(ThisWorkbook.Worksheets(1).Cells(i, 6).Value, ".", ","))
j = j + 1
i = i + 1
Loop
stream.Close
End Sub