2013-08-05 2 views
12

मुझे कुछ परेशानी देने वाला कोड है। यह मेरी एक और लिपि में बहुत अच्छा काम कर रहा था, लेकिन मैंने इसे किसी तरह से गड़बड़ कर दिया होगा।पायथन सीएसवी में कोई विशेषता नहीं है 'लेखक'

if csv: मुख्य रूप से क्योंकि मैं एक argparser में एक -csv विकल्प पर निर्भर था। लेकिन अगर मैं if statement के बाहर उचित इंडेंट्स के साथ इसे चलाने के लिए भी चला गया, तो भी यह वही त्रुटि देता है।

import csv 

if csv: 
    with open('output.csv', 'wb') as csvfile: 
     csvout = csv.writer(csvfile, delimiter=',', 
      quotechar=',', quoting=csv.QUOTE_MINIMAL) 
     csvout.writerow(['A', 'B', 'C']) 
     csvfile.close() 

मुझे देता है:

Traceback (most recent call last): 
    File "import csv.py", line 34, in <module> 
    csvout = csv.writer(csvfile, delimiter=',', 
AttributeError: 'str' object has no attribute 'writer' 

अगर मैं हटाने if statement, मैं मिलता है:

Traceback (most recent call last): 
    File "C:\import csv.py", line 34, in <module> 
    csvout = csv.writer(csvfile, delimiter=',', 
AttributeError: 'NoneType' object has no attribute 'writer' 

क्या मूर्खतापूर्ण बात मैं गलत कर रहा हूँ? मैंने test.py जैसे चीजों को फ़ाइल नाम बदलने की कोशिश की क्योंकि मैंने देखा कि एक और एसओ पोस्ट में, काम नहीं किया।

उत्तर

10

यदि आपने कुछ ऐसा सेट किया है जो csv (एक स्ट्रिंग की तरह दिखता है) तो आप मॉड्यूल आयात को छाया दे रहे हैं।

import csv 
csv = 'bob' 
csvout = csv.writer(somefile) 

csv के लिए आगे काम निकालें: तो, सबसे सरल बात सिर्फ बदलने के लिए जो कुछ भी csv को निर्धारित कर रहा है कि मॉड्यूल नहीं है और यह कुछ और ही कहते हैं ...

वास्तव में क्या हो रहा है है और वहां से जाओ ...

+0

आप सही हैं, मुझे इसे जल्द से जल्द देखने के लिए खेद है। मेरे पास स्क्रिप्ट में कहीं और 'csv = args.csv' था। बहुत बहुत धन्यवाद!! 'If ​​statement' को ifs.csv' में बदलना और पिछले' csv = args.csv' को हटाकर इसे हल किया गया। अति उत्कृष्ट। – Interrupt

30

मेरे लिए मैंने अपनी फ़ाइल csv.py नामित की थी। तो जब मैं उस फ़ाइल से import csv मैं अनिवार्य रूप से उसी फ़ाइल को आयात करने की कोशिश कर रहा था।

+3

हाहा ... एक आम गलती लगता है..मेरे लिए मेरे लिए ... यह मुझे पागल कर रहा था ... –

+0

मेरे लिए भी यही है :-) –

+1

ओह मैन, धन्यवाद! – chwi

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