あなたのコード:
with open('file.csv', 'r') as my_csv_file:
reader = csv.reader(my_csv_file)
for row in reader:
print (row)
が間違ってインデントを持っています。それは次のようになります。
with open('file.csv') as my_csv_file: # the 'r' mode is implicit
reader = csv.reader(my_csv_file)
for row in reader: # this line shouldn't have been indented
print(row)
また、#!/usr/bin/python
は、Python 2でスクリプトを実行しますが、ないのPython 3.お使いのシステムはwith
を認識しないのPython 2(2.4または以前)の非常に古いバージョンを持っていることコンテキストマネージャ。 にのシバンが必要な場合は、#!/usr/bin/env python3.5
などのようにしてください。または、スクリプトを実行可能ファイルとして設定し、それを./scriptname.py
などで実行する予定がない場合は、完全に削除してください。
もう1つ - モジュールと競合するので、ファイル名をcsv.py
にしないでください。システム上のモジュールの後にファイル名を付けないでください。たとえば、csv_test.py
がより良い代替手段になります。
インポートステートメントは、インデントされるか、関数から移動する必要があります。インデントは、Pythonで構文的に重要です。一般的に、import文は関数内にあるべきではありません。ファイルの先頭にあるはずです。 –
あなたの例文は、構文エラーにする前に 'import csv'で字下げエラーがあります。 '<= SYNTAX ERROR'をコメントに入れるなど、エラーを示す実行可能な例に更新してください。私たちは、あなたが走っているものを正確に実行したい。 – tdelaney
"import csv"ステートメントを削除しました。構文エラーです。 – oradbanj