python读取数据库数据、并保存为docx_【python】读取数据库信息并保存为Json文件...

一、相关资料链接:

二、遇到的问题

思路:pymysql读取数据库信息;json.dumps(): 对数据进行编码,转成json格式

三、源码

import pymysql, json

from datetime import date, datetime

# 打开数据库连接

param = {

'host': '',

'port': ,

'db': '',

'user': '',

'password': '',

}

db = pymysql.connect(**param)

# 使用cursor()方法创建一个游标对象cursor

cursor = db.cursor()

# 重新构造json类,遇到日期特殊处理,其余的用内置

class ComplexEncoder(json.JSONEncoder):

def default(self, obj):

if isinstance(obj, datetime):

return obj.strftime('%Y-%m-%d %H:%M:%S')

elif isinstance(obj, date):

return obj.strftime('%Y-%m-%d')

else:

return json.JSONEncoder.default(self, obj)

def get_result():

# 需要执行的sql语句

sql = "sql"

cursor.execute(sql) # 使用execute()方法执行sql语句

data = cursor.fetchall() # fetchall()使用接收全部的返回结果行(fetchone()方法获取单条数据,

cols = cursor.description # 类似desc table_ame返回结果

res = format_data(cols, data)

cursor.close()

db.close() # 关闭数据库

# json.dumps(): 对数据进行编码,转成json格式

data_json = json.dumps(res, cls=ComplexEncoder,

indent=1) # indent默认无=不换行,0=换行;其余indent的值,代表缩进空格式;cls默认 = JSONEncoder

# 写入文档datajson

with open('datajson', 'w')as file:

file.write(data_json)

# print(data_json)

# 数据格式化 cols字段名,data结果集

def format_data(cols, data):

# 字段数组 形式['id', 'name', 'password']

col = [] # 创建一个空列表以存放列名

for i in cols:

col.append(i[0])

# 返回的数组集合 形式[{'id': 1, 'name': 'admin', 'password': '123456'}]

res = []

for iter in data:

line_data = {}

for index in range(0, len(col)):

line_data[col[index]] = iter[index]

res.append(line_data)

return res

get_result()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值