mysql没有python字典直接对应的数据格式,要直接存字典主要有两种对应格式json或text,两种方法都需要先利用json.dumps()将字典序列化,如果时存储成json格式,直接将得到的序列化数据存入即可。如果存储成text格式需要将得到的utf-8的编码序列中“\”替代为"\\",再存入数据库。
数据读取时,只需要像文本一样正常读出来,再利用json.loads()反序列化,即可(这两种方法区别还没有看出来,但是前者对于字典格式要求严格,做爬虫时,有时一些字符可能会导致存入数据出错)。
如下
存入json格式(这里的ty_content对应数据库格式是json,存取方法和text好像没啥区别。不过text直接存会报错的)
存入text格式
字典格式如下
从数据库读取数据
结果如下
当然我们也可以用javascript的 JSON.stringify() 函数从数据库读出数据,但是js需要将添加的“/”去除。如下
mysql似乎没有字典的数据格式,如果直接将字典转化为字符串,以文本的格式添加数据,会出现一些麻烦的现象(字符串的一些字符,如转义字符会报错)。可以先利用json.dumps()将字典序列化。再将得到的utf-8的编码序列中“\”替代为"\\",再存入数据库.数据读取时,只需要像文本一样正常读出来,再利用json.loads()反序列化,即可。结果如下字典格式如下从数据库读取数据结...
项目需要,用
python
实现了将
字典
内容存入本地的
mysql
数据
库。比如说有个
字典
dic={“a”:”b”,”c”:”d”},存入
数据
库效果图如下:
'''''
Insert items into database
@author: hakuri
import
MySQL
db
def InsertData(TableName,dic):
conn=
MySQL
db.connect(host='localhost',user='root',passwd='
2、
使用
pandas 库,一次性
插入
3、
使用
pyspark, 一次性
插入
(可以不用建表,但是表没有注释, 即
mysql
的 COMMENT,要注释的话可以建空表)
mysql
首先...
sqlalchemy.exc.DataError: (py
mysql
.err.DataError) (1265, "Data truncated for column 'Timestamp' at row 1")
[SQL: INSERT INTO `UserBehavior` (user_id, item_id, category, `Behavior`, timestamp) VALUES (%(user_id)s, %(item_id)s, %(category)s, %(Behavior)s, %(
#pycharm
aa = {‘人才’:60,‘英语’:‘english’,‘adress’:‘here’}
print(aa) # {‘人才’: 60, ‘英语’: ‘english’, ‘adress’: ‘here’}
#
添加
方法一:根据键值对
添加
aa[‘价格’] = 100
print(aa) # {‘人才’: 60, ‘英语’: ‘english’, ‘adress’: ‘here’, ‘价格’: 10
可以
使用
Python
的
MySQL
Connector模块,首先需要将
字典
对象转换为JSON格式,然后
使用
INSERT语句将其
插入
到
数据
库
中
。以下是示例代码:
```
python
import
mysql
.connector
import json
# 将
字典
转换为JSON格式
my_dict = {"id": 1, "name": "John"}
json_dict = json.dumps(my_dict)
# 连接
MySQL
数据
库,并将JSON格式的
字典
插入
到表
中
cnx =
mysql
.connector.connect(user='username', password='password',
host='127.0.0.1', database='mydb')
cursor = cnx.cursor()
insert_query = "INSERT INTO mytable (data) VALUES (%s)"
cursor.execute(insert_query, (json_dict,))
cnx.commit()
cursor.close()
cnx.close()
请注意,此代码只是示例,需要根据实际情况进行调整。