2016-03-31 27 views
0

Bir önceki kodumdan çıkan çıktı olarak sözlük kullanarak simple_tokenize kullanmaya çalışıyorum ama hata mesajı alıyorum. Aşağıdaki kod ile herhangi bir yardım çok takdir edilecektir. Ben oldukça iyi Python 2.7 JupyterPython için Jupyter dize belirteci

import csv 
reader = csv.reader(open('data.csv')) 

dictionary = {} 
for row in reader: 
    key = row[0] 
    dictionary[key] = row[1:] 
print dictionary 

yukarıdaki eser kullanıyorum ancak sorun şu ile geçerli:

NameError         Traceback (most recent call last) 
<ipython-input-2-0d0e05fb1556> in <module>() 
     1 import re 
     2 
----> 3 words = dictionary 
     4 split_regex = r'\W+' 
     5 

NameError: name 'dictionary' is not defined 

cevap

0

Değişkenler arasında kaydedilmez:

import re 

words = dictionary 
split_regex = r'\W+' 

def simple_tokenize(string): 

    for i in rows: 
     word = words.split 
    #pass 

print word 

bu hatayı alıyorum Jupyter oturumları, explicitly do so yourself siz değilseniz. Böylece, ilk kod bölümünü çalıştırdıysanız, Jupyter oturumunuzu kapatın, yeni bir Jupyter oturumu başlattı ve ikinci kod bloğunu çalıştırdı, dictionary ilk oturumdan korunmuyor ve dolayısıyla hatayla gösterildiği gibi tanımlanamayacak.

Yukarıdaki kod bloklarını farklı şekilde (örneğin, Jupyter oturumları arasında değil) çalıştırırsanız, bunu belirtmeniz gerekir, ancak etiketler ve geri izleme bunu yaptığınızı gösterir.