自分のカスタムインポートスクリプトを使用して、Pandas DataframeからPostgres DBにデータをインポートしています。残念ながら、私のデータは整然としたものではなく、私の列のすべてのものがテキストとして解析されました。特定の列の値が数字ではないエントリを得る方法はありますか?私の計画は、それらのレコードを削除し、列を数値型に変換することですPostgres Query:数字ではない値を見つける
ありがとう!
自分のカスタムインポートスクリプトを使用して、Pandas DataframeからPostgres DBにデータをインポートしています。残念ながら、私のデータは整然としたものではなく、私の列のすべてのものがテキストとして解析されました。特定の列の値が数字ではないエントリを得る方法はありますか?私の計画は、それらのレコードを削除し、列を数値型に変換することですPostgres Query:数字ではない値を見つける
ありがとう!
は何の数字を持っていないレコードを取得し、その後、次の正規表現を使用する必要があります:
ここDELETE FROM myrecords WHERE record ~ '^[^0-9]+$';
を、角括弧の外^
文字がフィールドの始まりを意味し、$
文字が意味しますフィールドの終わりであり、その間のすべての文字が非数字であることが必要です。 +は、少なくとも1つのそのような文字があることを示します。空の文字列も許可すると、正規表現は^[^0-9]*$
のようになります。
あなたは数字と小文字の文字が含まれるレコードをしたい場合は、私のような正規表現期待:
DELETE FROM myrecords WHERE record ~ '[0-9a-z]';
をあなたは 'is_numeric' https://stackoverflow.com/questions関数を作成することができます/ 16195986/isnumeric-with-postgresql –