理解Python错误

时间:2012-10-21 19:14:02

标签: python

我正在尝试使用Python和漂亮的汤库创建地图。

我是一名新手,对编程缺乏经验。

我收到了附加的错误,我不确定如何继续。据推测,我的数据文件(csv文件)存在问题。

Python告诉我什么? “未引用字段中的新行字符”是什么意思?

以下是代码:

# Read in script rates
scriptrate = {}
min_value = 100; max_value = 0
reader = csv.reader(open('/users/gcameron/Desktop/map/data.csv'), delimiter=",")
for row in reader:
try:
    county = row[1] 
    rate = float( row[2].strip() )
    rate[county] = rate
except:
    pass

enter image description here

2 个答案:

答案 0 :(得分:2)

错误消息表明它与您的文件有关,问题出在此行。

reader = csv.reader(open('/users/gcameron/Desktop/map/data.csv'), delimiter=",")

它说您需要更改为:

reader = csv.reader(open('/users/gcameron/Desktop/map/data.csv', 'rU'), delimiter=",")

注意'rU',它告诉python以通用换行模式读取文件,如错误消息中所述。我不确定这会有所帮助,但你应该尝试一下。

你还应该附上你的csv文件,因为我认为如果上述方法不起作用,问题就存在于文件中。

答案 1 :(得分:0)

出现此问题是因为不同操作系统中的新行格式不同。默认情况下,Python假设新行是Unix样式LF(\n),如果不是这样,那么你就有问题了。

在你的情况下,你的.csv可能很好地来自Windows,因此所有excel怪癖(格式问题)。您可以通过在通用新行模式下打开来修复它。 更改:open(r'/users/gcameron/Desktop/map/data.csv', 'rU')