建表+数据库插入
#coding=utf-8
# 达达
# 2021-6-11
# 导入库
import pymysql
# 打开数据库连接
# localhost:主机ip
# 数据库账号:
# 数据库密码:
# 数据库名称:
db = pymysql.connect("主机ip", "数据库账号", "数据库密码", "数据库", charset='utf8' )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 创建数据表SQL语句
# 创新表 表名
# 设置id,为主键,自增
# 设置title 为Text类型非空
# 设置href 为 Text类型非空
# 设置time 为char类型,长度最大30
# 后续类似
try:
sql = "CREATE TABLE `数据库名`.`表名` ( `id` INT NOT NULL AUTO_INCREMENT , `title` TEXT NOT NULL , `href` TEXT NOT NULL , `time` VARCHAR(30) NOT NULL , `source` VARCHAR(30) NOT NULL , `article` TEXT NOT NULL , `article_list` TEXT NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;"
cursor.execute(sql)
except:
print("数据库已创建")
# 导入数据
import pandas as pd
from tqdm import tqdm
# 导入json数据
data = pd.read_json("./data2/comp_indus_sum.json",encoding="utf-8")
for i in tqdm(range(len(data))):
#------------------------------
# 看json的基础信息
# print(data.iloc[0])
# _id {'$oid': '5f991a055e29b2de980dad25'}
# article 10月28日,一场中国投资界顶级盛会启幕!百位基金行业大佬、研究领域大咖、上市公司高管齐聚深...
# article_list [10月28日,一场中国投资界顶级盛会启幕!百位基金行业大佬、研究领域大咖、上市公司高管齐聚...
#----------------
data_sample = data.iloc[i]
article = data_sample['article']
href = data_sample['href']
time = data_sample['time']
title = data_sample['title']
article_list = str(data_sample['article_list'])
source = str(data_sample['source'])
if article=="":
continue
# SQL 插入语句
sql1 = "INSERT INTO `表名`(`id`,`title`, `href`, `time`, `source`, `article`, `article_list`) VALUES (NULL,'{0}','{1}','{2}','{3}','{4}','{5}')".format(title.replace('''"''',r'''\"''').replace("'",r"\'"),href,time,source,article.replace('''"''',r'''\"''').replace("'",r"\'"),article_list.replace('''"''',r'''\"''').replace("'",r"\'"))
# 执行sql语句
try:
cursor.execute(sql1)
except:
print(i)
# 提交到数据库执行
db.commit()
# 关闭数据库连接
db.close()
网友评论