0

親テーブルの各セルの値を検証し、ルックアップ テーブルの値と比較するスクリプトを Python で作成しています。

したがって、親テーブルにはいくつかの列があり、各列は、その特定の列の各レコードにある必要がある既知の値のルックアップ テーブルに対応しています。

親テーブルから値を読み取ると、多くのタイプ (つまり、Unicode 文字列、int、float、日付など) が存在します。

ルックアップ テーブルには同じ種類の型がありますが、文字列の場合は単純な文字列であり、値を一致するように変換する必要がある Unicode 文字列ではありません。(つまり、親テーブルのセルの値が Unicode 文字列の場合、それが Unicode かどうかをテストする条件文を作成してから、単純な文字列に変換する必要があります。

if isinstance(row.getValue(columnname), unicode):
    x = str(row.getValue(columnname)

私の質問は、ユニコード文字列を単純な文字列に変換するか、その逆に変換して型を一致させる方がよいでしょうか? なぜそれが良いのでしょうか?

それが役立つ場合、私の親テーブルはすべてアクセス可能で、ルックアップ テーブルはすべて Excel にあります。それは本当に重要ではないと思いますが、何かが足りないのかもしれません。

4

1 に答える 1

5

バイト文字列をユニコードにデコードする方が良いでしょう。

Unicode データは正規表現です。エンコードされたバイト数は、使用されたエンコードによって異なります。

プログラム内で常に Unicode を使用し、必要に応じてバイトにエンコードして、ネットワーク経由で送信したり、データをファイルに書き込んだりしたいと考えています。

これを日付/時刻値の使用と比較してください。datetimeそれらもできるだけ早くオブジェクトに変換します。または画像; PNG または JPG から画像をロードする場合、色と個々のピクセルを操作できる表現を取得する必要があります。これは、ディスク上の圧縮画像形式で作業する場合に非常に困難です。

于 2013-10-18T17:28:15.080 に答える