蟒蛇。使用CSV读取文件。语法错误

时间:2016-04-06 22:09:51

标签: python csv

以下脚本在“with open ...”行显示语法错误

#!/usr/bin/python

import fileinput;
import  csv;

def read_csv_file ( file_name ):

    with open('file.csv', 'r') as my_csv_file:
        reader = csv.reader(my_csv_file)
            for row in reader:
                print ( row )

read_csv_file();

1 个答案:

答案 0 :(得分:2)

您的代码:

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.您的系统可能有一个非常旧版本的Python 2(2.4或之前版本),它不会识别{{3上下文管理器。如果必须有一个shebang,请将其设为#!/usr/bin/env python3.5或类似的东西。或者,如果您不打算将脚本设置为可执行文件并将其作为./scriptname.py或其他任何内容运行,请完全删除它。

还有一件事 - 不要将文件命名为csv.py,因为这会与csv模块发生冲突。避免在系统上的任何模块之后命名文件。例如,csv_test.py将是更好的选择。