मैं अजगर में बड़ी संख्या में CSV फ़ाइलों को संसाधित कर रहा हूं। फाइलें बाहरी संगठनों से प्राप्त की जाती हैं और एन्कोडिंग की एक श्रृंखला के साथ एन्कोड की जाती हैं। मैं एक स्वचालित विधि को खोजने के लिए निम्नलिखित निकालना चाहते हैं:टेक्स्ट फ़ाइलों से गैर-प्रिंट करने योग्य "gremlin" वर्णों को हटा रहा है
- गैर- ASCII वर्ण
- नियंत्रण वर्ण
- अशक्त (ASCII 0) वर्ण
मैं एक उत्पाद कहा जाता है 'का पता लगाएं और इसे बदलें! जो नियमित अभिव्यक्तियों का उपयोग करेगा, इसलिए नियमित अभिव्यक्ति के साथ उपरोक्त को हल करने का एक तरीका बहुत उपयोगी होगा।
धन्यवाद
'फाइलें बाहरी संगठनों से प्राप्त की जाती हैं और एन्कोडिंग की एक श्रृंखला के साथ एन्कोड की जाती हैं' - और वे हैं ... उनसे पूछें नहीं? इसके साथ आपके संबंधित उत्पाद को क्या करना है? आप डेटा का उपयोग करने की क्या कोशिश कर रहे हैं ... क्या आपको वास्तव में पाइथन की आवश्यकता है? –
अच्छे प्रश्न। सीएसवी फाइलें एन्कोडिंग में 'अज्ञात' (ढूँढें और इसे बदलें!), 'Utf-8', 'iso-88591-1' और अन्य शामिल हैं। उनसे नहीं पूछ सकता - बहुत अधिक ईमेल, बहुत लंबा। मैंने पहले ही पाइथन लिखा है जो सीएसवी फाइलों को दोबारा सुधारता है। और स्क्रिप्ट अधिकांश मामलों में काम करती है, सिवाय इसके कि जहां gremlins (जो किसी भी तरह के बराबर करते हैं \ r) गड़बड़ CSV.reader। गैर-एसिसी को हटाकर एन्कोडेड मुझे सॉर्ट करेगा। चीयर्स! –
इन सभी टिप्पणियों के लिए धन्यवाद। काम पूरा करने के लिए भीड़ में मैंने बीबीईडीआईटी नामक कुछ चीज का उपयोग किया है जो 'gremlins' को हटा देगा जैसे आर/अक्षरों को एक एन्कोडिंग के साथ एन्कोड किया गया है जिसे पायथन पहचान नहीं है (आगे के काम के बिना)। अब जब मैं जानता हूं कि BBEdit का उपयोग करके इन gremlins की पहचान कैसे करें, मैं जांच करूंगा कि नीचे दिए गए कोई भी समाधान एक ही काम करते हैं और पहले जवाब को चेक करते हैं। –