python mysql 数据记录转成json串

# -*- coding: utf-8 -*-
import os
import xlrd
import datetime
import json
import sys
import re
import pymysql
import pandas as pd
parent_path = os.path.dirname(sys.path[0])
if parent_path not in sys.path:
    sys.path.append(parent_path)


today = datetime.date.today().strftime("%Y-%m-%d")


class Convert():
    def __init__(self):
        pass

   
    def getdate(self, date):
        s_date = datetime.date(1899, 12, 31).toordinal() - 1
        if isinstance(date, float):
            date = int(date)
            d = datetime.date.fromordinal(s_date + date)
        return d.strftime("%Y-%m-%d")

    def clean_new(self):
        self.web_tow = pymysql.connect(host='192.168.0.2', user='admin', passwd='admin',
                                       db='db', port=3306, charset='utf8',
                                       cursorclass=pymysql.cursors.DictCursor, connect_timeout=7200)
        # self.web_tow = pymysql.connect(host='127.0.0.1', user='root', passwd='root',
        #                                db='db', port=3306, charset='utf8',
        #                                cursorclass=pymysql.cursors.DictCursor, connect_timeout=7200)
        self.cursor_web_default_tow = self.web_tow.cursor()

        select_sql = """SELECT * FROM  `table`"""

        data = []
        # 写入数据库
        self.cursor_web_default_tow.execute(select_sql)
        rows = self.cursor_web_default_tow.fetchall()
        for row in rows:
            id = row['id']
            sheetName = row['sheet_name']
            Codes = row['codes']          
            enable = row['enable']
            benable = True
            if enable == 0:
                benable = False

            data.append(
                (
                    {
                        "id": id,
                        "name": sheetName,
                        "list": list(str(Codes).split(',')),                       
                        "enable": benable
                    }
                )
            )
        print("""{"data":""" + str(json.dumps(data)) + "}")

        # 解决输出json过多,输出到txt 
        with open("abc.txt", 'w') as f:
            f.write('')
            # json.dumps把对象中单引号转成双引号
            f.write("""{"data":"""+str(json.dumps(data))+"}")


if __name__ == '__main__':
    statis = Convert()
    statis.clean_new()
    statis.cursor_web_default_tow.close()
    statis.web_tow.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值