我可以从python连接到本地mysql数据库,并且可以创建,选择并插入单个行。
我的问题是:我可以直接指示mysqldb提取整个数据帧并将其插入到现有表中,还是需要遍历行?
在这两种情况下,对于具有ID和两个数据列以及匹配的数据帧的非常简单的表,python脚本的外观如何?
更新: 现在有一种to_sql方法,而不是write_frame:
df.to_sql(con=con, name='table_name_for_df', if_exists='replace', flavor='mysql') 另请注意:语法可能会在熊猫0.14中更改...
您可以使用MySQLdb建立连接:
from pandas.io import sql import MySQLdb
con = MySQLdb.connect() # may need to add some other options to connect 将flavorof 设置write_frame为'mysql'意味着您可以写入mysql:
sql.write_frame(df, con=con, name='table_name_for_df', if_exists='replace', flavor='mysql') 该参数if_exists告诉熊猫表是否已经存在该如何处理:
if_exists: {'fail', 'replace', 'append'},默认值'fail' fail:如果表存在,则不执行任何操作。 replace:如果存在表,则将其删除,重新创建并插入数据。 append:如果存在表,则插入数据。如果不存在则创建。
尽管write_frame文档当前建议仅在sqlite上运行,但似乎支持mysql,并且实际上在代码库中有很多mysql测试。来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。