其实有点呆,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中还有专门的提示。