2015-09-23 42 views
7

मैं एक बुनियादी csv फ़ाइल जिसमें कॉलम इन स्तंभ नाम के साथ अल्पविराम के द्वारा अलग कर रहे हैं पढ़ रहा हूँ में अतिरिक्त अल्पविरामों से सीएसवी पढ़ें:पांडा स्तंभ

userid, username, body

हालांकि, शरीर स्तंभ एक स्ट्रिंग जो हो सकता है अल्पविराम शामिल हैं। जाहिर है यह एक समस्या का कारण बनता है और पांडा की एक त्रुटि बाहर फेंक:

CParserError: Error tokenizing data. C error: Expected 3 fields in line 3, saw 8

वहाँ एक रास्ता एक विशिष्ट स्तंभ या इस समस्या को हल जाने के लिए एक तरह से में अल्पविराम अनदेखी करने के लिए पांडा बताने के लिए है?

उत्तर

6

कल्पना कीजिए हम पढ़ रहे अपने dataframe comma.csv कहा जाता है:

df = pd.read_csv('comma.csv', quotechar="'") 

इस मामले तार में:

userid, username, body 
01, n1, 'string1, string2' 

एक बात आप कर सकते हैं के साथ कॉलम में तार के परिसीमक निर्दिष्ट करने के लिए है ' द्वारा सीमित, कुल के रूप में माना जाता है, चाहे उनके अंदर अल्पविराम हो।

+1

मुझे नहीं लगता कि उसकी स्ट्रिंग में उद्धरण हैं, क्योंकि अगर ऐसा होता तो पांडा इसे 'कोटटेचर' – Leb

+0

के बिना पहचान लेते हैं जैसे लीब ने कहा, मेरे पास शरीर के चारों ओर उद्धरण नहीं हैं – David

+1

@ डेविड ओके इसे मिला। आपका डेटाफ्रेम "जैसा है" प्रदान किया गया है, या आप इस पर कुछ प्रीप्रोकैसिंग कर सकते हैं? –

संबंधित मुद्दे