采用python打开json数据,再全部写入到MySQL中

其实有点呆,MySQL似乎是可以直接读取json数据类型的,MySQL精通建议直接划过。

但是还是稍有一些可取之处的(起码对我来说是的)循环遍历一个文件夹中的多个文件读取相关数据。

for i in tqdm(range(1, 89)):  
    # range的内容根据文件命名来,保证在path中可以完整表述所有文件
    path = "origin_json/data (" + str(i) + ").json"
    # 打开json文件并加载其内容
    with open(path, 'r', encoding='utf-8') as file:
        data = json.load(file)

json数据在python需要采用json库来打开,用于读取相关的json文件。

import json

# 打开json文件并加载其内容
with open('origin_json/data.json', 'r', encoding='utf-8') as file:
    data = json.load(file)

json.load()读取的数据,是以字典的形式展示,接下来就按照针对字典的操作读取相关数据。

读取到相关数据后,需要写入MySQL数据库。需要用到mysql_connector_python第三方库。

import mysql.connector
#    连接MySQL数据库
conn = mysql.connector.connect(
        host="localhost",   # 主机
        user="root",            
        password="123456",
        database="data"
)
# 创建游标对象
cursor = conn.cursor()
# 写入数据
sql = " insert into roof_pressure_data (time_stamp, support_num, pressure_value, state) values (%s, %s, %s, %s)"
cursor.executemany(sql, other_data)
cursor.executemany(sql, feature_data)

# 提交内容
conn.commit()
# 关闭游标对象
cursor.close()
# 关闭数据库
conn.close()


此外在使用MySQL中,数据库和表可以在MySQL建立,也可以在python中通过mysql_connector操作来建立。本文在datagrip中建好了数据库和表。

但是要注意,这种方式添加数据,python运行一次就会添加一遍数据,会导致数据重复。写完一遍再运行时,我再开始前添加清除所有数据,防止数据重复添加表数据库中。

cursor.execute("DELETE FROM roof_pressure_data;")

(个人理解)cursor.execute()括号中的内容是MySQL中的运行语句,可以当MySQL的运行命令窗来使用。但是我的评价是不如在datagrip中写来的舒服,pycharm会给显示警告且标黄,我看着反正是不舒服,datagrip中还有专门的提示。

你可能感兴趣的:(json,python,database,mysql)