吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1096|回复: 11
收起左侧

[求助] pyhton字典问题请教!

[复制链接]
jetzhou 发表于 2021-9-18 17:15
本帖最后由 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 }

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wraxle 发表于 2021-9-18 17:38
Decimal是函数吗,如果是函数的话除了编号以及次数以外的字段直接执行,然后再放到新的字典中
刘涛 发表于 2021-9-18 17:56
 楼主| jetzhou 发表于 2021-9-18 18:01
刘涛 发表于 2021-9-18 17:56
你这是从数据库里查出来,字典就这样是吗?

是啊,提出来一条就是这样,要怎么改呢
xhtdtk 发表于 2021-9-18 18:02
这个字典在列表里面,读取列表要,list_example[0]
刘涛 发表于 2021-9-18 18:05
jetzhou 发表于 2021-9-18 18:01
是啊,提出来一条就是这样,要怎么改呢

没用过pyodbc这个模块链接数据库,我一般用pymysql 链接mysql  用pymssql链接sqlserve,这两个库,不会返回数据库字段的类型。就是你这些datetime.datetime  或者  Decimal,其实是数据库字段类型吧
hujachin 发表于 2021-9-18 18:12
a = [{'报送时间': datetime.datetime(2021, 9, 18, 16, 34, 57), '编号': '30066', '次数': 'K1', '碳': Decimal('3.170'), '锰': Decimal('0.073'), '硫': Decimal('0.044')}]
a = a[0]
a["报送时间"] = a["报送时间"].strftime("%Y年%m月%d日 %H:%M:%S")
a["碳"] = float(a["碳"])
a["锰"] = float(a["锰"])
a["硫"] = float(a["硫"])
ccwuax 发表于 2021-9-18 20:34
笨笨的方法,你自己看着用:
[Python] 纯文本查看 复制代码
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)

image.png
CTB 发表于 2021-9-19 15:08
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[0]
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}
CTB 发表于 2021-9-19 15:11
ccwuax 发表于 2021-9-18 20:34
笨笨的方法,你自己看着用:
[mw_shl_code=python,true]import time
import json

问一下,这种直接发代码是怎么做到的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-25 21:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表