2012-09-16 6 views
5

私のスクリプトはpythonで、cassandraはdata stax community editionです。pycassa TypeError:A strまたはunicode、canandra insertを実行できない

TypeError: A str or unicode value was expected, but int was received instead (3902503) 

これは、私がcassandraカラムファミリに挿入しようとしているときに発生するエラーです。

コードは次のようである:

エラーログを示唆している:

Traceback (most recent call last): 
     File "C:\Users\me\Desktop\pro1\src\pro1.py", line 73, in <module> 
     str("swf"): str("aws") 
     File "c:\Python27\lib\site-packages\pycassa\columnfamily.py", line 969, in insert 
     mut_list = self._make_mutation_list(columns, timestamp, ttl) 
     File "c:\Python27\lib\site-packages\pycassa\columnfamily.py", line 504, in _make_mutation_list 
     columns.iteritems()) 
     File "c:\Python27\lib\site-packages\pycassa\columnfamily.py", line 503, in <lambda> 
     return map(lambda (c, v): Mutation(self._make_cosc(_pack_name(c), _pack_value(v, c), timestamp, ttl)), 
     File "c:\Python27\lib\site-packages\pycassa\columnfamily.py", line 462, in _pack_value 
     return packer(value) 
     File "c:\Python27\lib\site-packages\pycassa\marshal.py", line 231, in pack_bytes 
     % (v.__class__.__name__, str(v))) 
    TypeError: A str or unicode value was expected, but int was received instead (3902503)   

あるようだ:

for x in feed: 
    cf.insert(uuid.uuid4(), x) 

X "は{値キーが}" の形式で単純な配列であります非常に分かった私はここに行方不明です...よく私はここに来て専門家に尋ねる!

+0

あなたのトレースバックは、あなたのコードの例と一致していません。私は 'str(" swf ")の部分行を見る:str(" aws ")'。 –

+0

私は同意します、cf.insert()にはswf、title、およびdescriptionが含まれています。エラーが 'swf'にトレースするので、私はそこに何か問題があると思った。 – yuvrajm

+0

あなたの 'value'sをダブルチェックしましたか?明らかに何かには文字列ではなく整数が含まれています。 –

答えて

4

値が列ファミリの種類と一致していることを確認してください。あなたの列ファミリはBytesTypeかそれに関連付けられた型がないので、pycassaは文字列値のみを受け入れます。あなたは(後者のpython 2.7とアップが必要です)ネストされた辞書の理解とリスト内包してstrにすべての値をマッピングすることができます。

cf.insert(uuid.uuid4(), [{k: str(v) for k, v in d.iteritems()} for d in x]) 
+1

ありがとう!これだよ!それは誤っていたコンパレータタイプでした。私はそれをAciiTypeに変更しました。今はあまり関係はありませんが、RSSフィードのような行を挿入しようとしているときに、どのようなコンパレータをお勧めしますか? – yuvrajm

+1

UTF8Typeカラムを使用するなど、国際的なテキスト(RSS配信テキストを含む) 。 –

関連する問題