我在sql中有一张表,我希望读入pandas数据框。我可以读取表,但所有列dtypes都作为对象读取。当我将表写入csv,然后使用read_csv重新读回时,假定使用了正确的数据类型。显然,此中间步骤效率很低,我只希望能够使用假定的正确数据类型直接从sql读取数据。
我在df中有650列,因此显然无法手动指定数据类型。
因此事实证明,数据库中的所有数据类型都定义为varchar。
似乎read_sql会读取该架构并假设基于此的数据类型。奇怪的是,那时我无法使用infer_objects()转换这些数据类型。
唯一的方法是写入csv,然后使用pd.read_csv()读取csv。