在Python脚本中,cursor.fetchall
命令返回一个元组列表,其中一些元素被标记为Decimal('0.50')
,而不仅仅是0.50
。在
myList= [(1, 'string1', None, None, 'string2', 0, 'string3'),
(1, 'string1', Decimal('0.50'), Decimal('2.5'), 'string2', 3, 'string3')]
我喜欢后一种形式(即0.50
)的原因是我试图使用print(json.dumps(result))
发送列表,它当前返回TypeError: Decimal('0.50') is not JSON serializable
。在
有没有直接的方法去除这种“类型”信息?我在这个问题上一直没有成功,我发现前面的相关问题只涉及所有元素都是相同类型的情况(例如here)。谢谢你的建议!在
这是我克服这个问题的方法。
首先,我将查询结果转换为pandas数据帧:
然后,我只需将麻烦的列转换为字符串:
^{pr2}$最后,我将数据帧转换为csv字符串:
这可以在
print(json.dumps(result))
中正确使用。相当具体的解决办法,但我想我还是会贴出来,至少提供一个问题的答案。
相关问题 更多 >
编程相关推荐