我正在开展一个项目,我正试图绘制我国各州的降雨模式。通过使用此命令,我从我的数据库中获取数据:
cur.execute('SELECT JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DECEMBER FROM Rainfall_In_Cm where STATE_UT = %s && DISTRICT = %s' ,(state , district))
结果以包含1个元素的列表的形式出现(查询输出中的1行):
(Decimal('17.5'), Decimal('9.9'), Decimal('8.9'), Decimal('4.0'), Decimal('9.3'), Decimal('53.8'), Decimal('227.1'), Decimal('280.90'), Decimal('125.4'), Decimal('28.1'), Decimal('5.0'), Decimal('4.7'))
现在我希望所有元素都以列表的形式出现,我可以使用matplotlib来绘制图形,我想从每个值的前面删除“十进制”字符串。我该怎么做?
答案 0 :(得分:0)
您的结果是一个元组,而不是列表,但这不是问题。
转换应适用于这些Decimal
个对象。您可以使用列表理解:
#Data from your example
foo = (Decimal('17.5'), Decimal('9.9'), Decimal('8.9'), Decimal('4.0'), Decimal('9.3'), Decimal('53.8'), Decimal('227.1'), Decimal('280.90'), Decimal('125.4'), Decimal('28.1'), Decimal('5.0'), Decimal('4.7'))
bar = [float(i) for i in foo]
如果您想要整数,请使用:
bar = [int(i) for i in foo]