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)
以上就是我在使用to_sql过程中,遇到的一些问题,特此记录,方便日后查阅。