我注意到,当我使用pandas提供的df.to_sql
方法时,它将自动检测列类型,然后在编写新表时使用合理的类型。例如,我可能有
|---------------------|------------------|------------------|
| column 1 | column 2 | column 3 |
|---------------------|------------------|------------------|
| "a" | 34 | 1.5 |
|---------------------|------------------|------------------|
当我使用df.to_sql()
时,在Postgres中将显示以下内容:
|---------------------|------------------|------------------|
| column 1 (text) | column 2(int) | column 3(float) |
|---------------------|------------------|------------------|
| a | 34 | 1.5 |
|---------------------|------------------|------------------|
当我编写其他查询时,Pandas,SQLAlchemy,psycopg2(或其他地方)是否内置可以为我执行此操作的东西?为了提供一些上下文,我正在从API中读取数据,并将其与表中已存在的数据进行比较,然后在缺少新列的情况下向该表中添加新列。所以我的查询看起来像:
query = 'ALTER TABLE my_table ADD COLUMN my_column %s'
connection.execute(query, auto_convert_type(python_type))
其中auto_convert_type
是我要寻找的功能
我意识到自己可以做到,但是我想知道是否已经有什么可以支持这一点?