70742


Pythonで

[code]

    import pandas as pd
    import pandas.io.sql as psql
    
[/code]

のもと、`pd.read_sql()`でdtype=objectの実行（もしくはそれに類する操作）は可能でしょうか。  
マニュアル的なページを見たのですが、特に記述がありませんでした。  
これはそういう機能は存在しないということでよろしいでしょうか。


CC BY-SA 4.0
2020-09-25T14:05:59.523
70698
2020-09-27T04:53:55.847
12457
question
python pandas
pd.read_sql()ですべて文字列で読むことは可能か


`pd.read_sql()`ではdtypeの明示的な指定はできないと思います。

`pd.read_sql()`は、SQLAlchemyから受け取ったResultProxyを`DataFrame.from_records()`に渡してDataFrameを構築しているようです。`DataFrame.from_records()`はCythonレベルで自動的に列ごとの型推定/変換を行っており、ユーザがdtypeを指定することはできません。

DataFrameを構築後に`astype()`で変換するか、もしくはSQLAlchemy側で明示的にcastしてから`read_sql()`に渡してはいかがでしょうか。


CC BY-SA 4.0
2020-09-27T04:53:55.847
70742
2020-09-27T04:53:55.847
36398
70698
answer