2017-08-07 57 views
0

我试着在ubuntu终端中运行下面的程序,但是出现了一些错误。但它不是在jupyter笔记本提供任何错误在python中读取csv文件时出错

文件“imsl.py”,第5行 语法错误:非ASCII字符“\ XE2”在第5行,但没有声明编码文件imsl.py;见http://python.org/dev/peps/pep-0263/的细节

import numpy 
import matplotlib.pyplot 


data_file ​= open("mnist_train_100.csv",'r') 
data_list ​= ​data_file.readlines() 
data_file.close() 
+3

这不是你得到错误的代码,正确吗? – thebjorn

回答

2

你已经有了一个流浪字节左右浮动。您可以通过运行找到它

with open("imsl.py") as fp: 
    for i, line in enumerate(fp): 
     if "\xe2" in line: 
      print i, repr(line) 

您会看到行号和有问题的行。然后可以删除该行并重新创建它以删除该杂散字节。

您还可以将# -*- coding: utf-8 -*-添加到文件的顶部,以按照您的链接强制执行编码。

0

尝试使用内置的csv库:

import csv 

data_file = list(csv.reader(open('mnist_train_100.csv'))) 
+0

内置csv库只能处理ASCII,如果您需要unicode CSV阅读器,则可以尝试https://pypi.python.org/pypi/unicodecsv/0.9.0。 – droravr

0

你必须在地方?是在此代码流浪Unicode字节:

import numpy 
import matplotlib.pyplot 


data_file ?= open("mnist_train_100.csv",'r') 
data_list ?= ?data_file.readlines() 
data_file.close() 

纠正它,你是好去。