CSV फ़ाइल को 'कट' (स्तंभों का एक सबसेट निकालें) कैसे उद्धृत तार शामिल हैं


3

मेरे पास एक CSV फ़ाइल है और कुछ कॉलम को छोड़ना चाहते हैं। तो मान लें कि यह एक नमूना फ़ाइल है:

column a, column b, column c
value  a, value  b, value  c
value  a, "quoted, b", value c

और अब कहते हैं कि हम कॉलम बी को छोड़ना चाहते हैं, ताकि परिणाम हो:

column a, column c
value  a, value  c
value  a, value c

यदि उद्धृत स्ट्रिंग "क्वोएटेड नहीं थी, b" मैं इसके साथ कर सकता था cut:

cut -d ',' -f 1,3

हालाँकि यह उद्धृत स्ट्रिंग है। मैं बस फ़ाइल को लेबरफ्रॉफ़िस के साथ लोड कर सकता था, लेकिन कम शांत और स्वचालित होने के अलावा मेरी फाइलें कई hundered MB हैं और कुछ में LibreOffice Calc के लिए पंक्तियों की अधिकतम संख्या भी अधिक है।

(साइड नोट: मेरी वास्तविक फ़ाइलों में 30 कॉलम अधिक हैं और मैं उनमें से लगभग 5-10 कॉलमों का चयन करना चाहूंगा। इसलिए यह "पिछले कॉलम को छोड़ना" नहीं है)

जवाबों:


3

यदि आप अजगर स्थापित कर सकते हैं, और easy_install, तो आप csvkit : https://csvkit.readthedocs.io भी स्थापित कर सकते हैं

और, अब आप केवल कॉलम 1 और 3 का चयन करने के लिए निम्नलिखित की तरह एक साधारण कमांड चला सकते हैं:

csvcut -c 1,3 original_file.csv > new_file.csv

या, दूसरे कॉलम को हटाने के लिए एक और उदाहरण:

csvcut -C 2 original_file.csv > new_file.csv

..

ध्यान दें:

चेतावनी का एक शब्द भी, आपका CSV अमान्य दिखता है । जब तक आप अपने डेटा में एक स्पेस कैरेक्टर नहीं रखना चाहते, तब तक आपको कॉमा / सीमांकक के बाद स्पेस नहीं चाहिए। एक अंतरिक्ष चरित्र बस डेटा का हिस्सा होगा, और उद्धृत पाठ के साथ गड़बड़ कर सकता है।

यह डेटा कैसे उत्पन्न होता है? क्या यह अतिरिक्त स्थानों के बिना उत्पन्न हो सकता है? उदाहरण के लिएcolumn a,column b,column c


उबंटू पर कोई पीपीए की आवश्यकता नहीं है sudo apt install python3-csvkit:।
पाब्लो बियानची
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.