Python + 不支持的操作数类型:'float' 和 'str
Python unsupported operand type(s) for +: 'float' and 'str
我正在编写一个简短的脚本,我计划在其中获取有关主机 PC 的一些信息并将其写入 excel 工作簿。我还在学习东西,所以没什么特别的。
我得到了我需要的所有数据,并且可以写入大部分内容。
我似乎无法让一件事起作用。
尝试以下代码时:
hardwareSheet.write("B7", usage + "%")
我只能打印出 "usage" 变量,但是当我添加 +"%" 时,我不断收到以下错误:
TypeError: unsupported operand type(s) for +: 'float' and 'str'
我正在使用 xlsxwriter 库来创建和写入 excel。
hardwareSheet.write 是允许我将数据写入 sheet 命名硬件的命令。
这是我如何获得 "usage" 变量:
cpuInfo = wmi.Win32_Processor()[0]
usage = float(cpuInfo.LoadPercentage)
如果我没有将 cpuInfo.LoadPercentage 解析为浮点数,它将是一个字符串。
我在谷歌上搜索了一下,读到我需要将 str 解析为一个浮点数,所以我 so.Any 想出了什么问题?
您不能在 python 中添加浮点数和字符串。 usage
是一个浮点数。 "%"
是一个字符串。
你应该这样做:
str(usage) + '%'
这是获得相同输出的另一种选择。
'{0}%'.format(usage)
使用 Python 3.6+ f-strings:
的尖端解决方案
hardwareSheet.write("B7", f'{usage}%')
我正在编写一个简短的脚本,我计划在其中获取有关主机 PC 的一些信息并将其写入 excel 工作簿。我还在学习东西,所以没什么特别的。 我得到了我需要的所有数据,并且可以写入大部分内容。 我似乎无法让一件事起作用。 尝试以下代码时:
hardwareSheet.write("B7", usage + "%")
我只能打印出 "usage" 变量,但是当我添加 +"%" 时,我不断收到以下错误:
TypeError: unsupported operand type(s) for +: 'float' and 'str'
我正在使用 xlsxwriter 库来创建和写入 excel。 hardwareSheet.write 是允许我将数据写入 sheet 命名硬件的命令。 这是我如何获得 "usage" 变量:
cpuInfo = wmi.Win32_Processor()[0]
usage = float(cpuInfo.LoadPercentage)
如果我没有将 cpuInfo.LoadPercentage 解析为浮点数,它将是一个字符串。 我在谷歌上搜索了一下,读到我需要将 str 解析为一个浮点数,所以我 so.Any 想出了什么问题?
您不能在 python 中添加浮点数和字符串。 usage
是一个浮点数。 "%"
是一个字符串。
你应该这样做:
str(usage) + '%'
这是获得相同输出的另一种选择。
'{0}%'.format(usage)
使用 Python 3.6+ f-strings:
的尖端解决方案hardwareSheet.write("B7", f'{usage}%')