熊猫在使用read_sql时不假设dtypes?

时间:2019-11-14 11:38:42

标签: python sql pandas

我在sql中有一张表,希望读取到pandas数据框。我可以读取表,但所有列dtypes都作为对象读取。当我将表写入csv,然后使用read_csv重新读回时,假定使用了正确的数据类型。显然,此中间步骤效率很低,我只希望能够使用假定的正确数据类型直接从sql读取数据。

我在df中有650列,因此显然无法手动指定数据类型。

1 个答案:

答案 0 :(得分:0)

因此,事实证明数据库中的所有数据类型都定义为varchar。

似乎read_sql会读取架构并假定基于此的数据类型。奇怪的是,那时我无法使用infer_objects()转换这些数据类型。

唯一的方法是先写入csv,然后使用pd.read_csv()读取csv。