pyhton字典问题请教!
本帖最后由 jetzhou 于 2021-9-18 18:00 编辑请问怎么用pyodbc模块读到的下面的这个字典
[{'报送时间': datetime.datetime(2021, 9, 18, 16, 34, 57), '编号': '30066', '次数': 'K1', '碳': Decimal('3.170'), '锰': Decimal('0.073'), '硫': Decimal('0.044')}]
怎么使用python把它改成下方样呢,谢谢!
{'报送时间': 2021年9月18日16:34: 57, '编号': 30066, '次数': 'K1', '碳': 3.170, '锰': 0.073, '硫':0.044 } Decimal是函数吗,如果是函数的话除了编号以及次数以外的字段直接执行,然后再放到新的字典中 你这是从数据库里查出来,字典就这样是吗? 刘涛 发表于 2021-9-18 17:56
你这是从数据库里查出来,字典就这样是吗?
是啊,提出来一条就是这样,要怎么改呢 这个字典在列表里面,读取列表要,list_example jetzhou 发表于 2021-9-18 18:01
是啊,提出来一条就是这样,要怎么改呢
没用过pyodbc这个模块链接数据库,我一般用pymysql 链接mysql用pymssql链接sqlserve,这两个库,不会返回数据库字段的类型。就是你这些datetime.datetime或者Decimal,其实是数据库字段类型吧 a = [{'报送时间': datetime.datetime(2021, 9, 18, 16, 34, 57), '编号': '30066', '次数': 'K1', '碳': Decimal('3.170'), '锰': Decimal('0.073'), '硫': Decimal('0.044')}]
a = a
a["报送时间"] = a["报送时间"].strftime("%Y年%m月%d日 %H:%M:%S")
a["碳"] = float(a["碳"])
a["锰"] = float(a["锰"])
a["硫"] = float(a["硫"]) 笨笨的方法,你自己看着用:
import time
import json
mystr = r"[{'报送时间': datetime.datetime(2021, 9, 18, 16, 34, 57), '编号': '30066', '次数': 'K1', '碳': Decimal('3.170'), '锰': Decimal('0.073'), '硫': Decimal('0.044')}]"
mystr = mystr.replace("'","\"")
mystr = mystr.replace("[","").replace("]","")
mystr = mystr.replace("datetime.datetime","")
mystr = mystr.replace("(\"","\"")
mystr = mystr.replace("\")","\"")
mystr = mystr.replace("(","\"")
mystr = mystr.replace(")","\"")
mystr = mystr.replace("Decimal","")
strdict = json.loads(mystr)
curtime = time.strptime(strdict['报送时间'].replace(" ",""),'%Y,%m,%d,%H,%M,%S')
strdict['报送时间'] =str(curtime.tm_year)+"年"+str(curtime.tm_mon)+"月"+str(curtime.tm_mday)+"日"+str(curtime.tm_hour)+":"+str(curtime.tm_min)+":"+str(curtime.tm_sec)
strdict['碳']=float(strdict['碳'])
strdict['锰']=float(strdict['锰'])
strdict['硫']=float(strdict['硫'])
print(strdict)
import datetime
from decimal import Decimal
list=[{'报送时间': datetime.datetime(2021, 9, 18, 16, 34, 57), '编号': '30066', '次数': 'K1', '碳': Decimal('3.170'), '锰': Decimal('0.073'), '硫': Decimal('0.044')}]
dict=list
dict['报送时间']=dict['报送时间'].strftime('%Y{y}%m{y}%d{d}%H:%M:%S').format(y='年',m='月',d='日')
dict['碳']=float(dict['碳'])
dict['锰']=float(dict['锰'])
dict['硫']=float(dict['硫'])
print(dict)
{'报送时间': '2021年09年18日16:34:57', '编号': '30066', '次数': 'K1', '碳': 3.17, '锰': 0.073, '硫': 0.044} ccwuax 发表于 2021-9-18 20:34
笨笨的方法,你自己看着用:
import time
import json
问一下,这种直接发代码是怎么做到的{:1_896:}
页:
[1]
2