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