私はcsvファイルをPythonに読み込んでいるので、私は配列として読み込みを保存します。Python:文字列を比較する強力な方法
私はその後、いくつかのOracle DBの結果に対するcsvファイルの結果を比較:
readerSetSAP = []
readerSAP = csv.reader(StringIO.StringIO(request.POST['sap'].value),dialect=csv.excel)
readerSetSAP.extend(readerSAP)
empsTbl = meta.Session.query(model.Person).all();
次に比較するネストされたループを使用します。
if i.userid != currEmp[0].strip():
updated = True
print "userid update"
問題は、私は多くの場合、警告を持って、次のとおりです。
eWarning: Unicode unequal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
私の質問は:
このタイプの文字列をPythonで比較する最も堅牢な方法は何ですか?ここ
あなたはその警告が表示された例を与えることができますか?私の最初の提案は、両方の引数が等しくエンコードされているかどうかを確認する必要があるということです。したがって、入力データをコード化してUnicodeに正しく変換する方法を知る必要があります。 –
あなたはいくつかの関連する手がかりを残しています。どのモジュールをOracleデータベースの読み込みに使用していますか?「meta.Session.query」は何を指していますか?あなたのループコードはIとcurrEmpをどのように設定しますか? currEmp [0]を供給するDBフィールドのタイプは何ですか? –
Pythonでunicodeを理解する方法について、この回答を確認してください。http://stackoverflow.com/a/1818326/244672これが役立つことを願っています。 –