python 打开操作 sqlite3库(.db格式文件)

1.若是不知道里面有什么表,先执行下面

import sqlite3
#先查看里面有哪些表
conn = sqlite3.connect("data/20201207.db")
cursor = conn.cursor()
sql = """select * from sqlite_master where type='table' order by name"""
cursor.execute(sql)
result = cursor.fetchall()
print(result)
print(type(result))

 

2.知道表名的

import sqlite3

conn = sqlite3.connect("data/20201207.db")
cursor = conn.cursor()
cursor.execute("""select * from  ComboCache""")
result = cursor.fetchall()
print(result[:1])

3.把mysql取出数插入到 sqlite

    def mysql_insert_sqlite3():
        sql="""select * from bi.r_expert_title """
        df=pd.read_sql(sql,self.engine)
        df['create_time']= df['create_time'].map(lambda x:datetime.datetime.strftime(x, '%Y-%m-%d %H:%M:%S'))
        df['update_time'] = df['update_time'].map(lambda x: datetime.datetime.strftime(x, '%Y-%m-%d %H:%M:%S'))
        # df['update_time'] = pd.to_datetime(df['update_time'], unit='s')
        l=df.values.tolist()
        #大量数据插入expert2.db
        sql_save = """insert into r_expert_title(id,expert_id,title,is_current,company_name,position,start_time,end_time,create_time,update_time,status)
        values(?,?,?,?,?,?,?,?,?,?,?)
        """
        conn = sqlite3.connect('expert2.db')
        cs = conn.cursor()
        # sql_save="""insert into r_expert_title(id,start_time,create_time,status) values(?,?,?,?)"""
        cs.executemany(sql_save,l)
        conn.commit()

4.

 

posted @ 2021-03-10 16:53  简单音乐  阅读(3033)  评论(0)    收藏  举报