csv および xlrd パッケージが空のセルを処理するデフォルトの方法を変更するオプションはありますか? デフォルトでは、空のセルには空の文字列値 = '' が割り当てられます。空の文字列は None 値ではないため、これはデータベースで作業している場合に問題になります。これは、データベースとやり取りする多くの python パッケージ (SQLAlchemy など) がデータベースを使用するためにNullとして処理できるためです。
たとえば、decimal/integer/float/double であると想定されるフィールドで空のセルが発生した場合、文字列の挿入が decimal/integer/float/ 型のフィールドに行われたため、データベースは例外をスローします。ダブル。
これを行う方法を示す例やドキュメントは見つかりませんでした。私の現在のアプローチは、データを検査して次のことを行うことです。
if item[i] == '':
item[i] = None
これの問題は、私がデータを所有しておらず、その品質を制御できないことです。多くのアプリがそれら以外のソースによって生成されたファイル/データを使用しているため、これはよくあることだと想像できます。
デフォルトの扱いを変更する方法があれば、それは私の意見では賢明なアプローチです。