cursor
=
db
.
cursor
(
)
cursor
.
execute
(
"SELECT VERSION()"
)
data
=
cursor
.
fetchone
(
)
print
(
"Database version : %s "
%
data
)
cursor
.
execute
(
"DROP TABLE IF EXISTS jsondb"
)
sql
=
"""create table jsondb(
name varchar(100) not null,
releasetime varchar(255) not null,
actor varchar(255) not null,
score varchar(255) not null)"""
cursor
.
execute
(
sql
)
def
reviewdata_insert
(
db
)
:
with
open
(
'D:\python work\movie.json'
,
encoding
=
'utf-8'
)
as
f
:
i
=
0
while
True
:
i
+=
1
print
(
u
'正在载入第%s行......'
%
i
)
try
:
lines
=
f
.
readline
(
)
review_text
=
json
.
loads
(
lines
)
result
=
[
]
result
.
append
(
(
review_text
[
'name'
]
,
review_text
[
'releasetime'
]
,
review_text
[
'actor'
]
,
review_text
[
'score'
]
)
)
print
(
result
)
inesrt_re
=
"insert into jsondb(name, releasetime, actor, score) values(%s,%s,%s,%s)"
cursor
=
db
.
cursor
(
)
cursor
.
executemany
(
inesrt_re
,
result
)
db
.
commit
(
)
except
Exception
as
e
:
db
.
rollback
(
)
print
(
str
(
e
)
)
break
if
__name__
==
"__main__"
:
db
=
pymysql
.
connect
(
"localhost"
,
"root"
,
"123456"
,
"json"
,
charset
=
'utf8'
)
cursor
=
db
.
cursor
(
)
prem
(
db
)
reviewdata_insert
(
db
)
cursor
.
close
(
)
最终在MySQL-Front中显示的结果:
一、准备工作:安装MySQL;安装数据库操作工具,我使用的是MySQL-Front;已经爬取好了的json文件,之前有写过,这里直接拿来用。二、import jsonimport pymysqldef prem(db): cursor = db.cursor() cursor.execute("SELECT VERSION()") data = cursor.f...
在做一个自动打卡的玩意。登录会得到那个平台一系列的信息。我又不想专门修改、增加
数据
库字段来存放,所有打算直接将返回的
JSON
数据
保存到一个
MySQL
字段
中
。
内容肯定不能直接放,考虑下比如
数据
注入的问题,对吧,容易出问题,所有我是打算将
JSON
数据
转为base64编码的格式。
先写一个专门的编码工具函数
def Base64_encode(s):
res = str(base6...
导入py
mysql
模块: import py
mysql
创建连接对象:conn = py
mysql
.connect(host, user, password, database)
创建游标对象:cursor = conn.cursor()
使用cursor.execute()方法执行sql语句
使用cursor.executemany...
一、实现效果
json
数据
转移前
{“rejectedOrderType”:2,“productCode”:null,“time1”:null,“time2”:null} 这种格式无法直接
存入
数据
库
转义后类似于:
"data={\"pageIndex\":1,\"pageSize\":10,.
【问】为什么要保留n位小数 或 保留整数 输出?
【答】通常在存储
数据
时,会将原本是小数的
数据
经过 乘以 10*n 倍后,转为整数
存入
数据
库,
所以我在sql查询操作过程
中
,进行了 “除法” 运算 ,输出额结果是 decimal 类型,
于是在序列化时会报错(用
python
转换
json
格式的时候会报错),经过查询,只需转化一下类型即可;
【例】select number/100 as num1 from tabale ; 这个查询结果 会报错:
【解决方案】
1、调用
mysql
自带的格式化小数函数format(x,d)
select format(23456.789,2);
并将它们存储到不同的文件夹
中
。
database_create部分用于提取每篇文章相关的重要信息,包括相关关键词、DOI、作者、发表日期等,并
存入
MySQL
数据
库。
analysis_pdf
部分用于将
文件转换为可编辑和可搜索的
文件,以便用户可以跟踪特定关键字并浏览内容。
请注意,每个文件夹
中
的代码或多或少彼此相似。
这是为了方便读者将它们视为单独的项目以供将来参考。
我还发布了
数据
提取团队的临时演示文稿,以更好地介绍我在创伤项目
中
的角色和贡献。
中
找到最终组织良好的程序。
将爬取下来的
数据
以类似
json
数据
的形式
存入
MySQL
由于之前对于爬取下来的
数据
都是
存入
MongoDB
中
,想起来还没有尝试
存入
MySQL
,于是将一篇简单的文章爬取下来,
存入
MySQL
试试
这里用到的
python
模块是py
mysql
,因为
MySQL
db之前已经停止维护
首先在cmd
中
连接
MySQL
并且创建一个
数据
库
json
可以使用
Python
内置的
json
库将
json
数据
转换为
Python
对象,然后使用
MySQL
db或py
mysql
等
Python
库将
Python
对象
存入
MySQL
数据
库
中
。以下是一个示例代码:
```
python
import
json
import
MySQL
db
# 读取
json
文件
with open('data.
json
', 'r') as f:
data =
json
.load(f)
# 连接
MySQL
数据
库
conn =
MySQL
db.connect(host='localhost', user='root', passwd='password', db='test', charset='utf8')
cursor = conn.cursor()
# 将
json
数据
存入
MySQL
数据
库
for item in data:
sql = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"
cursor.execute(sql, (item['key1'], item['key2'], item['key3']))
conn.commit()
cursor.close()
conn.close()
其
中
,data.
json
是包含
json
数据
的文件,table_name是
MySQL
数据
库
中
的表名,column1、column2、column3是表
中
的列名,key1、key2、key3是
json
数据
中
的键名。