少しコードが問題を引き起こしています。それは私が持っていた別のスクリプトでうまく機能しましたが、どういうわけかそれを台無しにしたに違いありません。
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'
私はどんな愚かなことを間違っていますか?別のSOポストで動作しないことがわかったので、ファイル名をtest.pyなどに変更してみました。
csv
に割り当てるもの(文字列のように見える)を設定した場合は、モジュールのインポートをシャドウイングしています。したがって、最も簡単なのは、モジュールではないcsv
に割り当てているものを変更し、それを別の名前で呼び出すことです...
実際に何が起こっているのですか:
import csv
csv = 'bob'
csvout = csv.writer(somefile)
csv
への追加の割り当てを削除し、そこから移動します...
私は自分のファイルにcsv.py
。だから私はimport csv
そのファイルから、基本的に同じファイル自体をインポートしようとしました。