अल्पविराम से अलग सूची को उचित CSV प्रारूप में कैसे बनाया जाए


1

मेरे पास "ad1@example.xyz, friend2@example.xyz, friend3@example.xyz" उदाहरण के लिए ईमेल अड्रेस की अल्पविराम से अलग की गई सूची है

लेकिन मुझे इसे उचित CSV प्रारूप में बदलने की आवश्यकता होगी। तो रिक्त स्थान की जगह, मुझे लगता है।

लेकिन यह कैसे किया जा सकता है? क्या मुझे regex कमांड के साथ 'खोज और प्रतिस्थापित' का उपयोग करने की आवश्यकता है? और यदि हां, तो कैसे?

पहले ही, आपका बहुत धन्यवाद


कृपया संपादित और आपूर्ति से पहले और उदाहरण के लिए पाठ के बाद।
DavidPostill

जवाबों:


0

यदि फ़ाइल में कॉमा के बाद अन्य स्पेस कैरेक्टर नहीं होते हैं, तो खोज और प्रतिस्थापन में regex की कोई वास्तविक आवश्यकता नहीं है। आप केवल रिप्ले ... डायलॉग को खोल सकते हैं और Find what: box में एक स्पेस कैरेक्टर डालें और सुनिश्चित करें कि रिप्लेस विथ: बॉक्स में कुछ भी नहीं है ।

यदि यह पहले से ही नहीं है, तो फ़ाइल को .csv पर नाम देना सुनिश्चित करें। यदि आपके पास विंडोज एक्सप्लोरर में ज्ञात फ़ाइल प्रकार सक्षम (डिफ़ॉल्ट) के लिए छिपाए गए एक्सटेंशन हैं, तो आपको नई फ़ाइल एक्सटेंशन के साथ फ़ाइल को फिर से सहेजना होगा; Windows Explorer सेटिंग को अक्षम करें या कमांड लाइन के माध्यम से फ़ाइल का नाम बदलें।


धन्यवाद!, मुझे लगा कि मुझे रेगेक्स की आवश्यकता है, लेकिन यह भी बिना काम करता है :)
mravec

3

CSV फ़ाइल प्रारूप पूरी तरह से मानकीकृत नहीं है यहां तक ​​कि RFC4180 भी मौजूद है
(यह मानक केवल पाठ-आधारित क्षेत्रों की हैंडलिंग को निर्दिष्ट करता है)।

RFC4180 आवश्यकताएँ:

  • MS-DOS- शैली रेखाएँ जो (CR / LF) वर्णों (अंतिम पंक्ति के लिए वैकल्पिक) के साथ समाप्त होती हैं।
  • एक वैकल्पिक हेडर रिकॉर्ड (यह पता लगाने का कोई निश्चित तरीका नहीं है कि क्या यह मौजूद है, इसलिए आयात करते समय देखभाल की आवश्यकता है)।
  • प्रत्येक रिकॉर्ड "चाहिए" में समान संख्या में अल्पविराम से अलग किए गए फ़ील्ड हैं।
  • किसी भी क्षेत्र को उद्धृत किया जा सकता है (दोहरे उद्धरण चिह्नों के साथ)।
  • लाइन-ब्रेक, डबल-उद्धरण और / या अल्पविराम वाले फ़ील्ड को उद्धृत किया जाना चाहिए। (यदि वे नहीं हैं, तो फ़ाइल को सही ढंग से संसाधित करना असंभव होगा)।
  • एक क्षेत्र में एक (डबल) उद्धरण चरित्र को दो (डबल) उद्धरण वर्णों द्वारा दर्शाया जाना चाहिए।

अपने प्रश्न पर वापस जाएं:

मेरे पास उदाहरण के लिए ईमेल पतों की अल्पविराम से अलग की गई सूची है
friend1@example.xyz, friend2@example.xyz, friend3@example.xyz

लेकिन मुझे इसे उचित CSV प्रारूप में बदलने की आवश्यकता होगी। तो रिक्त स्थान की जगह, मुझे लगता है

रिक्त स्थान हटाने के लिए:

  • Ctrl+ दबाएं H
  • क्षेत्र के Find whatप्रकार में[ \t]+
  • खेत Replace withखाली होना चाहिए।
  • में Search modeखंड स्विच रेडियो बटन को regular expression
    और बटन हिटReplace All

जब आपने रिक्त स्थान से पाठ साफ़ किया, तो आप कॉलम डेटा को उद्धरण में संलग्न करना चाह सकते हैं:

  • Ctrl+ दबाएं H
  • क्षेत्र के Find whatप्रकार में([^,\r\n]+)
  • क्षेत्र के Replace withप्रकार में\"\1\"
  • में Search modeखंड स्विच रेडियो बटन को regular expression
    और बटन हिटReplace All

नोट: यह (उद्धरण में आसपास का डेटा) डॉस / विंडोज प्रारूप में सहेजे गए पाठ पर लागू होता है, यदि आप लिनक्स से डेटा संसाधित करते हैं, तो \rफ़ॉर्म Find whatफ़ील्ड हटा दें ।


स्पष्टीकरण के लिए धन्यवाद, यह काम करता है (रेगेक्स के बिना भी) :)
mravec

@mravec यह CSV रीडर पर निर्भर करता है, अगर यह Excel या LibreOffice में डिफ़ॉल्ट सेटिंग्स होगा, तो वे रिक्त स्थान के साथ कॉलम डेटा
एलेक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.