思路:通过pymysql生成的字典导入的mongodb中
import pymongo
import pymysql
def get_sql_conn():
"""
获取数据库连接
"""
conn= pymysql.connect(host="localhost",user="root",password="010401",db="liukeng")
cursor = conn.cursor()
return conn,cursor
def get_index_dict(cursor):
"""
获取数据库对应表中的字段名
"""
index_dict = dict()
index = 0
for desc in cursor.description:
index_dict[desc[0]] = index
index = index + 1
return index_dict
def get_dict_data_sql(cursor, sql):
"""
运行sql语句,获取结果,并根据表中字段名,转化成dict格式(默认是tuple格式)
"""
cursor.execute(sql)
data = cursor.fetchall()
index_dict = get_index_dict(cursor)
res = []
for datai in data:
resi = dict()
for indexi in index_dict:
resi[indexi] = datai[index_dict[indexi]]
res.append(resi)
return res
def main():
con, cursor = get_sql_conn()
sql = "SELECT * FROM resource"
return get_dict_data_sql(cursor, sql)
if __name__ == '__main__':
#连接数据库服务器 ↓
client = pymongo.MongoClient("localhost",27017)
#选择数据库 ↓,使用lixianhe库
db_test = client.liukeng
#获取集合 ↓,使用lixianhe库里的lixianhe集合
collection_li = db_test.resource
dic = main()
collection_li.insert_many(dic)