質問: Pythonで ``` import pandas as pd import pandas.io.sql as psql ``` のもと、`pd.read_sql()`でdtype=objectの実行(もしくはそれに類する操作)は可能でしょうか。 マニュアル的なページを見たのですが、特に記述がありませんでした。 これはそういう機能は存在しないということでよろしいでしょうか。
回答: `pd.read_sql()`ではdtypeの明示的な指定はできないと思います。 `pd.read_sql()`は、SQLAlchemyから受け取ったResultProxyを`DataFrame.from_records()`に渡してDataFrameを構築しているようです。`DataFrame.from_records()`はCythonレベルで自動的に列ごとの型推定/変換を行っており、ユーザがdtypeを指定することはできません。 DataFrameを構築後に`astype()`で変換するか、もしくはSQLAlchemy側で明示的にcastしてから`read_sql()`に渡してはいかがでしょうか。