Python pandas中to_sql的使用及问题详解

1.to_sql的作用:

to_sql是pandas中的DataFrame数据类型提供的一个API,可以将整个DF导入数据库中,其中有几个参数的作用为:

  • name: 数据库中的表名
  • con: 与read_sql中相同,数据库连接的驱动
  • if_exits: 当数据库中的这个表存在的时候,采取的措施是什么,包括三个值,默认为fail
    • fail,若表存在,则不进行数据表写入的相关操作
    • replace:若表存在,将数据库表中的数据覆盖;
    • append:若表存在,将数据写到原表的后面。
  • index:是否将df的index单独写到一列中
  • index_label:指定列作为df的index输出,此时index为True
  • dtype: 指定列的输出到数据库中的数据类型。字典形式储存:{column_name: sql_dtype}

2.to_sql的使用实例

完成数据库的连接驱动

conn=create_engine(‘mysql+pymysql://{}:{}@{}:{}/{}’.format(user1,password1,host1,port1,database1))

以上涉及到的变量自己定义即可,分别是:数据库的用户名、密码、主机、端口以及数据库名称

df1.to_sql('tech_res', con=conn,index = False , if_exists = 'append', chunksize = None,dtype=dtypedict)

3.出现的问题记录

出现1241的错误:

出现这个错误可能是DF数据中包含列表类型的数据,此时要对数据进行强制转换。使用下面的语法进行

df1.loc[:,'keyAndAbs_'] = df1['keyAndAbs_'].astype(str)

总结

原文地址:https://blog.csdn.net/qq_37898024/article/details/123105035