首页 > 解决方案 > TypeError:只能将str(不是“float”)连接到str,当任何地方都没有float时

问题描述

我试图做一些 JSON,然后出现这个错误 -

Traceback (most recent call last):
  File "D:/Pycharm Projects/gloscrape/whole.py", line 61, in <module>
    data2 = '{"Percent":"' + \
TypeError: can only concatenate str (not "float") to str

我不明白浮动是如何相关的,或者为什么这不起作用......我认为问题出在我的 JSON 技能上,我想我写错了......无论如何,如果有人能帮助我,我会很高兴!

如果需要更多代码 -

for x in range(len(nums)):
    file = open("updates" + str(x) + ".txt", "a")
    data2 = '{"Percent":"' + \
            element[x] + '", "diff":"' + diff + '"}'
    text = json.dump(data2 + '\n', file)

(代码前面定义的元素和差异)

标签: pythonjsonpython-3.xtypestypeerror

解决方案


不确定你要做什么,但你正在转储一个字符串。让json模块序列化数据:

import json
nums = element = diff = ['foo', 1, 1.123]  # different types

for x in range(len(nums)):
    file = open("/tmp/updates" + str(x) + ".txt", "a")
    print(file)
    data2 = {"Percent": element[x], "diff": diff}
    text = json.dump(data2, file)

updates2.txt 中的数据:

{"diff": ["foo", 1, 1.123], "Percent": 1.123}

推荐阅读