我按照书中的示例并收到错误。我有两个文件。一个名为nobel_winners.csv,另一个名为test.py,我试图从test.py中打开nobel_winners.csv。使用Python打开.csv文件NameError
nobel_winners.csv的内容是:
nobel_winners = [
{'category': 'Physics',
'name': 'Albert Einstein',
'nationality': 'Swiss',
'sex': 'male',
'year': 1921},
{'category': 'Physics',
'name': 'Paul Dirac',
'nationality': 'British',
'sex': 'male',
'year': 1933},
{'category': 'Chemistry',
'name': 'Marie Curie',
'nationality': 'Polish',
'sex': 'female',
'year': 1911}
]
从我test.py,我使用f = open('nobel_winners.csv', 'w')
然后cols = nobel_winners[0].keys()
。然后程序抛出:
NameError: name 'nobel_winners' is not defined.
这里会出现什么错误?
为什么这个文件命名为.csv?另外,它似乎是该文件是一个有效的Python字典列表?你能控制文件的名称吗?因为那样你就可以将它作为一个.py文件,只需将其导入并直接用作有效的Python数据结构。 – idjaw
当你说'cols = nobel_winners [0] .keys()''nobel_winners'分配了什么?您可能没有定义该错误发生的变量。 – shaktimaan
您的'nobel_winners.csv'不是CSV文件,而是普通的Python文件。将其重命名为'nobel_winners.py'并从nobel_winners import *'导入' – furas