Python 我得到的回答是:;对象不支持项分配“;在填充字典时

Python 我得到的回答是:;对象不支持项分配“;在填充字典时,python,csv,dictionary,variable-assignment,Python,Csv,Dictionary,Variable Assignment,我是Python和编程新手,目前正在编写一个脚本,该脚本最终将根据新教的速度在美国地图上为各个县着色。我遇到了一个让我目瞪口呆的问题,我似乎找不到任何答案 此代码读入具有以下格式的csv文件: 2060;6,018888889 2068;169,77 etc... 其中第一项是fips代码,第二项是费率。我想把它们分配到一本字典里,以后我可以用它给地图上色。以下代码旨在实现以下目标: #populate dictionary with fips and rate from csv file e

我是Python和编程新手,目前正在编写一个脚本,该脚本最终将根据新教的速度在美国地图上为各个县着色。我遇到了一个让我目瞪口呆的问题,我似乎找不到任何答案

此代码读入具有以下格式的csv文件:

2060;6,018888889
2068;169,77
etc...
其中第一项是fips代码,第二项是费率。我想把它们分配到一本字典里,以后我可以用它给地图上色。以下代码旨在实现以下目标:

#populate dictionary with fips and rate from csv file
evanrate = {}

with open(r'C:\Users\Jeroen\documents\hacker1\evanrate.csv') as evanrate:
        parsereader = csv.reader(evanrate, delimiter = ';')
    for row in parsereader:
        fips = row[0]
        rate = float(row[1].replace(',', '.'))

        evanrate[fips] = rate
但是,当我尝试使用代码“evanrate[fips]=rate”填写字典时,我得到了错误:

Traceback (most recent call last):
   File "C:\Users\Jeroen\Documents\hacker1\evanrate.py", line 16, in <module>
    evanrate['fips'] = rate
   TypeError: '_io.TextIOWrapper' object does not support item assignment
回溯(最近一次呼叫最后一次):
文件“C:\Users\Jeroen\Documents\hacker1\Evanate.py”,第16行,在
evanrate['fips']=速率
TypeError:“\u io.TextIOWrapper”对象不支持项分配
我正在使用Python3.3和Windows7

# this is a dict 
#   ↓
evanrate = {}                                                # this isn't  --.
                                                             #     ↓         |
with open(r'C:\Users\Jeroen\documents\hacker1\evanrate.csv') as evanrate:  # |
        parsereader = csv.reader(evanrate, delimiter = ';')                # |
    for row in parsereader:                                                # |
        fips = row[0]                                                      # |
        rate = float(row[1].replace(',', '.'))                             # /
        #   ↓---------------------------------------------------------------/
        evanrate[fips] = rate

重命名您的dict或文件。

非常感谢您的解决方案。毕竟这是一个很简单的错误。非常感谢。我得到这个错误是因为我有一个方法和一个类属性的相同名称