从 mysqldb 查询获取原始十进制值

2024-03-02

我正在使用 MySQLdb 包在 python 中执行 mysql 查询。代码看起来像这样:

c=db.cursor()
c.execute("""select * from table""")
output = []
for row in c:
    output.append(row[4])

where row[4]包含我想存储在的十进制值output list.

问题是我得到的每个值都是这样的:Decimal('XX.XX')我想要的一切都在output清单是 XX.XX。在剧本的最后,我的output列表看起来像这样:

[Decimal('10.02'), Decimal('20.24'), ...]

但我需要它只包含数字,如下所示:

[10.02, 20.24, ...]

我怎么做?

Thanks!


您可以将 Decimal 对象转换为字符串:

cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
    output.append(str(row[4]))

或者到一个浮动:

cursor = db.cursor()
cursor.execute("""select * from table""")
output = []
for row in cursor:
    output.append(float(row[4]))

将其转换为浮点数将导致其失去完整精度,因此像 20.24 这样的值将变为 20.239999999999998。

此外,如果该值是,则将其转换为浮点数将引发异常None。为了避免这种情况,您可以使用如下辅助函数:

def convert_mysql_decimal_to_float(decimal_object):
    if (decimal_object == None):
        return None
    else:
        return float(decimal_object)

cell_value = convert_mysql_decimal_to_float(row[4])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 mysqldb 查询获取原始十进制值 的相关文章

随机推荐

  • 在类中使用 PDO [重复]

    这个问题在这里已经有答案了 我有一些类执行一些 MySQL 查询和准备好的语句 然而 我不知道如何将我的 PDO 对象合并到这些类中 例如 我想做这样的事情 不幸的是 它不起作用 谁能建议一种优雅的方法来做到这一点 谢谢你的时间 抱歉 我是
  • 动态组装scrapy GET请求字符串

    我一直在使用 firebug 并且有以下字典来查询 api url htp my url aspx top querystring dbkey x1 stype id s 27 headers accept text html applic
  • qt webengine将javascript输出重定向到GUI

    我有一个可以查看页面的应用程序QWebEngineView小部件如何将我的 javascript 控制台日志重定向到我的 GUI 它当前显示在我的调试输出中 您必须子类化 QWebEnginePage 才能覆盖 javaScriptCons
  • 使用immulator时在android studio中使用protocol=http/1.1、code=200在Retrofit中获取F响应

    我正在从 Nodejs 本地服务器调用 API API正在调用 但Retrofit的respose body中没有数据 代码 200 和消息 OK 我收到以下回复 Response protocol http 1 1 code 200 me
  • FlexSlider 2 标题在 chrome 上闪烁

    我在 chrome 上的标题有些闪烁 http tyni cc flexsliderissue http tyni cc flexsliderissue在野生动物园中一切都运行良好 任何人都知道出了什么问题吗 谢谢 丹尼尔 我经常使用 Fl
  • React hooks - 当状态更改为相同值时如何强制 useEffect 运行?

    所以我正在构建一个鼓垫类型的应用程序 除了这个之外 几乎所有东西都可以正常工作 编辑 把整个东西放在codesandbox上 如果有人想看的话 codesandbox io s sleepy darwin jc9b5 file src Ap
  • 连接到存储在 Azure VM 上的 Nexus 3 Preview 上的 Docker 注册表时出现问题

    基本上 我在连接到我尝试使用最新的 Nexus 预览版创建的 docker 注册表时遇到了问题 首先 我在运行 Ubuntu 14 04 trusty 的 MS Azure 云服务器上安装了 Sonotype Nexus 3 Preview
  • 如何在 PHP 中使用 UTF-8 支持替换所有非字母字符

    我想从字符串中删除所有非字母字符 问题是我不知道字母范围 因为它是 UTF8 字符串 可以是英语 我通常会做这样的事情 str preg replace a zA Z str or str preg replace w u str 但它们都
  • CSS 打印预览 - 显示图像/链接 URL

    我正在创建一个打印样式表 并且希望通过在链接和图像旁边显示链接 URL 来使网站尽可能易于访问 对于简单的链接我找到了这个解决方案 http davidwalsh name optimize your links for print usi
  • 如何在 Android 手机上签署“.apk”文件?

    我想在手机上生成一个新的 apk 文件 我的应用程序市场中的一个功能 如应用程序 我必须在安装它之前对其进行签名 我想我必须在手机上运行 JarSigner JarSigner 存在于以下两个项目中 OpenJDK 和 GCC libjav
  • 使 clos 对象可在 lisp 中打印

    如果你想让 common lisp 中的 CLOS 对象可打印 可读打印 你如何在不使用除了 print 和 read 之外的任何东西的情况下做到这一点 至少在我的解决方案中 有两个部分可以做到这一点 但是您将需要这个功能 感谢 cl pr
  • Django API 请求

    我正在尝试使用模型的字段作为 API 请求中的关键字来访问另一个服务的 API URL 会像这样 http api example com json first name FNAME last name LNAME key key 这是我的
  • 使用 sed 计算反向引用

    我想 pm max children 5 成为 pm max children 8 并一直在努力但没有得到解决方案 像 1 或 2 这样的反向引用似乎不适用于计算 sed i E s pm max children s 1 echo 2 3
  • 这个字符串是什么:Ôªø 以及如何避免它?

    不知何故 我设法将 放在 PHP 脚本的顶部 那群可怕的人物到底是什么 我怎么可能进入其中 以及将来我该如何揭露和 或避免它 有趣的是 它之前潜伏在 PHP 脚本的最顶部
  • Cloudera 5.1下作业在LocalJobRunner中保持运行

    需要一些快速帮助 我们的作业在 MapR 下运行良好 但是当我们在 Cloudera 5 1 上启动相同的作业时 它继续以本地模式运行 我确信这是某种配置问题 它是哪个配置设置 14 08 22 12 16 58 INFO mapreduc
  • C# 通用字典 TryGetValue 找不到键

    我有这个简单的例子 using System using System Collections Generic namespace ConsoleApplication1 class Program static void Main str
  • 如何避免一遍又一遍地创建同一个对象?

    如前所述 我继续研究我的 TCP 套接字今天早上 https stackoverflow com questions 74812333 我发现每次我通过这样的套接字发送消息时 套接字的数量都会不断增加 这仅仅意味着我不断创建和打开新的套接字
  • 将最后一个值添加到数据框的顶部。

    最后一个值是 12 我想将最后一个值移到第一个值 这意味着我想附加数据框并将最后一个值移动到数据框的顶部 同时向下移动较早的值 请检查预期的输出 R code a lt c 11 243 121 42 12 a lt data frame
  • Linux - 修改文件修改/访问/更改时间[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我读了一篇关于新隐写方法的文章 时间在我这边 文件系统元数据中的隐写术 http www sciencedirect com scienc
  • 从 mysqldb 查询获取原始十进制值

    我正在使用 MySQLdb 包在 python 中执行 mysql 查询 代码看起来像这样 c db cursor c execute select from table output for row in c output append