添加# - * - 编码后的python语法错误:utf-8 - * -

Mar*_*oli 2 python python-2.7

我正在准备一个cvs文件,

这是我的代码:

import csv
class CsvToJson:
    def __init__(self, csvFilePath):
        with open(csvFilePath, 'rb') as csvFile:
            spamreader = csv.reader(csvFile, delimiter= ‘;’, quotechar = '|')
            for row in spamreader:
                print ', '.join(row)

k = CsvToJson(csvFilePath = 'carsModelsMakes.csv')
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

SyntaxError: Non-ASCII character '\xe2' in file CsvToJson.py on line 7, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
Run Code Online (Sandbox Code Playgroud)

在第五行.

我在互联网上阅读,似乎解决方案是使用

# -*- coding: utf-8 -*- 
Run Code Online (Sandbox Code Playgroud)

在文件的开头.

我做到了,但后来我收到了这个错误:

File "CsvToJson.py", line 6
    spamreader = csv.reader(csvFile, delimiter= ‘;’, quotechar = '|')
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

你能帮忙吗?

Tig*_*kT3 5

这是罪魁祸首:

delimiter= ‘;’,
Run Code Online (Sandbox Code Playgroud)

你需要直引号,而不是智能引号:

delimiter= ';',
Run Code Online (Sandbox Code Playgroud)