【发布时间】:2021-09-08 17:41:13
【问题描述】:
我有几个需要翻转到 SQL 表的 DataFrame。 SQL 表都共享一个模式,但 DataFrame 不共享。我需要能够轻松地将 df 列匹配/更改为 sql 表。我在这里看到的一切都是使用 df.to_sql 操作 1 或 2 个字段。我需要能够像处理列表一样轻松地操作至少 10 个字段。以下是示例表
list1
+-------+-------+-------+-------+
| name |hobby1 |hobby2 |hobby3 |
+-------+-------+-------+-------+
| kris | ball | swim | dance |
| james | eat | sing | sleep |
| amy | swim | eat | watch |
+-------+-------+-------+-------+
df2
+---------+------------+-----------+-----------+
| df2name | df2hobby1 | df2hobby2 |df2hobby3 |
+---------+------------+-----------+-----------+
| kris | ball | swim | dance |
| james | eat | sing | sleep |
| amy | swim | eat | watch |
+----------+-----------+-----------+-----------+
sql1
+-----------+-----------+-----------+-----------+
| sql_name |sql_hobby1 |sql_hobby2 |sql_hobby3 |
+-----------+-----------+-----------+-----------+
| kris | ball | swim | dance |
| james | eat | sing | sleep |
| amy | swim | eat | watch |
+----------+-----------+------------+------------+
有时我在 python dict 中接收数据,我可以使用 kwargs 函数轻松传输并且效果很好。我的功能如下:
def transfer_dict(**kwargs):
transfer = {'sqlname':' ',
'sqlhobby1' : ' ',
'sqlhobby2' : ' ',
'sqlhobby3' : ' '
}
transfer.update(kwargs)
return (transfer)
我这样做很容易转移:
new_list.append(transfer_dict(sqlname=name, sqlhobby1=hobby1, sqlhobby2=hobby2, sqlhobby3=hobby3))
我可以使用我相同的 kwargs 传输函数将 DataFrame 传输到 SQL 吗?还是有更好的办法?
【问题讨论】:
标签: python sql pandas dictionary