Pandas表格保存到SQL数据库

写一个函数,保存Pandas表格数据到SQL数据库的一个新表中。
函数有两个参数:data是要保存的表格,table_name是要新建的数据库表。

def pdtosql(data,table_name):
    a=b= ''
    for each in data.columns:
        a = a + each + " " + 'varchar(255)'+','
        b = b + each + " " + ','
    a = a[:-1]
    b = b[:-1]
    c = str('%s,'*len(data.columns))[:-1]

#新建table
    with conn.cursor() as cursor:
        cursor.execute("DROP TABLE IF EXISTS {}".format(table_name))  # 如果存在,删除同名table
        sql = '''
                create table {} (
                {}
                ) engine=innodb default charset=utf8
            '''.format(table_name,a)
        cursor.execute(sql)
    print('Table "{}" created!'.format(table_name))

#插入数据
    #values =  [tuple(each) for each in data.values]
    values= [[item if item == item else None for item in each] for each in data.values]
    with conn.cursor() as cursor:
        sql = "INSERT INTO {} ({}) VALUES ({})".format(table_name,b,c)
        cursor.executemany(sql,values)
        conn.commit()
    print("Data insert done!")
赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,转载请注明出处。
文章名称:《Pandas表格保存到SQL数据库》
文章来自:泰恩数据
文章链接:https://tyne.cc/439.html
本站资源仅供个人学习使用,请勿用于商业用途。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址