2017-01-15 7 views
-2
`Traceback (most recent call last): 
    File "fmcrawler_sql.py", line 317, in <module> 
    crawl(initFighter=fighter,K=4) 
    File "fmcrawler_sql.py", line 114, in crawl 
    write_page_to_database(initFighterURL,cur) 
    File "fmcrawler_sql.py", line 292, in write_page_to_database 
    write_fights_to_database(fights,cur) 
    File "fmcrawler_sql.py", line 211, in write_fights_to_database 
    fightId = hash(bothFighters+fight['Event']) 
    TypeError: cannot concatenate 'str' and 'list' objects 
` 

これらの行に問題がありますか?データベース:TypeError: 'str'オブジェクトと 'list'オブジェクトを連結できません

+0

あなたが体を疑問視ものの、としてそれを非常に説明的ではない、あなたの問題について多くを語るが、あなたが持つ文字列を連結しようとしているようではありませんリストオブジェクト: 'bothFighters + fight ['Event']'、いくつかのコードを投稿してください! –

+0

エラーの原因となるコードを十分に表示する必要があります。 [最小限で完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve)を参照してください。 –

答えて

0

TypeErrorを読んでください:あなたは文字列とリストを持っています...リストは明白ですので、リストから「イベント」を取り出し、他の変数と連結してからリストに戻す必要があります。あなたが必要とするものによって異なります。

>>> ['a']+['b'] 
['a', 'b'] 
>>> l = ['b'] 
>>> ['a' + l[0]] 
['ab'] 
>>> 
0

あなたが投稿したことから何が起こっているのかは分かりませんが、このエラーはかなり一般的です。実際のコードのどこかで、文字列とリストを連結(または追加)しようとしています。ここでの問題は発生します。

File "fmcrawler_sql.py", line 211, in write_fights_to_database 
fightId = hash(bothFighters+fight['Event']) 
    TypeError: cannot concatenate 'str' and 'list' objects 

私はbothFightersがリストであるとfight['Event']が文字列であることを推測しています。文字列をリストに変更すると、エラーは消えるでしょう。 (Pythonでは、リストを一緒に「追加」することができ、両方のリストの最初のレベルのエントリでより長いリストを作成します)。

まだヘルプが必要な場合は、コードを更新してください。


List concatenation in Python

String concatenation basics if you ever need 'em.


関連する問題