मैं इस काम को प्राप्त करने की कोशिश कर रहा हूं लेकिन त्रुटि TypeError: a bytes-like object is required, not 'str'' अजगर 3 में अपग्रेड करने के बाद हो रही है।

मुझसे यहां क्या गलत हो रहा है? मैंने r, wb+ और w को यहां से सीखने की कोशिश की, पायथन फ़ाइल मोड "w+" द्वारा भ्रमित

मेरा कोड:

with open(output_filename, 'wb') as f:   
    # write column names
    f.write("stack,overflow,super,user\n")
    writer = csv.writer(f)

क्या कोई इसके लिए सहायता कर सकता है? धन्यवाद।

0
excelguy 16 अगस्त 2019, 23:45

1 उत्तर

सबसे बढ़िया उत्तर

'wb' और 'w' फ़ाइल मोड के बीच का अंतर यह है कि 'wb' सीधे बाइनरी को पढ़ता है और 'w' इसे स्ट्रिंग के रूप में पढ़ता है। आपकी समस्या यह है कि आप 'w' के बजाय 'wb' का उपयोग कर रहे हैं। csv.writer एक स्ट्रिंग की अपेक्षा कर रहा है, बाइनरी नहीं।

यदि आप इसके बजाय with open(output_filename, 'w') as f: का उपयोग करते हैं, तो इसे काम करना चाहिए।

1
anderw 16 अगस्त 2019, 23:53