Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t使用我的本地json文件文本作为intiger 导入多处理 导入urllib.request 导入json 将open(“crypto.json”)作为f: data=json.loads(f) 结果=数据 打印(打印(结果)) resultbtc=int(结果['User']['BTC']) resultdash=int(结果['User']['DASH']) resulteth=int(结果['User']['ETH']) url=”https://min-api.cryptocompare.com/data/pricemulti?fsyms=ETH,破折号,BTC和tsyms=BTC,EUR和api_key=9A96785FB79DA776270B5FFC9E989D9092BBE23472E107301CE5FF8A82F3“ data=urllib.request.urlopen(url) html=data.read() html=html.decode() o=json.loads(html) btcv=o['BTC']['EUR'] dashv=o['DASH']['EUR'] ethv=o['ETH']['EUR'] fresbtc=btcv*resultbtc['BTC'] fresdash=dashv*resultdash['DASH'] freseth=ethv*resulteth['ETH'] 打印(“Бχρήστης”、结果['Name']、“εχει”、fresbtc、“€σε比特币”、freseth、“€σε以太坊”、fresdash、€σεDASH”)_Python_Json_Python 3.x - Fatal编程技术网

Python Can';t使用我的本地json文件文本作为intiger 导入多处理 导入urllib.request 导入json 将open(“crypto.json”)作为f: data=json.loads(f) 结果=数据 打印(打印(结果)) resultbtc=int(结果['User']['BTC']) resultdash=int(结果['User']['DASH']) resulteth=int(结果['User']['ETH']) url=”https://min-api.cryptocompare.com/data/pricemulti?fsyms=ETH,破折号,BTC和tsyms=BTC,EUR和api_key=9A96785FB79DA776270B5FFC9E989D9092BBE23472E107301CE5FF8A82F3“ data=urllib.request.urlopen(url) html=data.read() html=html.decode() o=json.loads(html) btcv=o['BTC']['EUR'] dashv=o['DASH']['EUR'] ethv=o['ETH']['EUR'] fresbtc=btcv*resultbtc['BTC'] fresdash=dashv*resultdash['DASH'] freseth=ethv*resulteth['ETH'] 打印(“Бχρήστης”、结果['Name']、“εχει”、fresbtc、“€σε比特币”、freseth、“€σε以太坊”、fresdash、€σεDASH”)

Python Can';t使用我的本地json文件文本作为intiger 导入多处理 导入urllib.request 导入json 将open(“crypto.json”)作为f: data=json.loads(f) 结果=数据 打印(打印(结果)) resultbtc=int(结果['User']['BTC']) resultdash=int(结果['User']['DASH']) resulteth=int(结果['User']['ETH']) url=”https://min-api.cryptocompare.com/data/pricemulti?fsyms=ETH,破折号,BTC和tsyms=BTC,EUR和api_key=9A96785FB79DA776270B5FFC9E989D9092BBE23472E107301CE5FF8A82F3“ data=urllib.request.urlopen(url) html=data.read() html=html.decode() o=json.loads(html) btcv=o['BTC']['EUR'] dashv=o['DASH']['EUR'] ethv=o['ETH']['EUR'] fresbtc=btcv*resultbtc['BTC'] fresdash=dashv*resultdash['DASH'] freseth=ethv*resulteth['ETH'] 打印(“Бχρήστης”、结果['Name']、“εχει”、fresbtc、“€σε比特币”、freseth、“€σε以太坊”、fresdash、€σεDASH”),python,json,python-3.x,Python,Json,Python 3.x,JSON文件: [ { “姓名”:“Jonh Smith”, “BTC”:“23”, “ETH”:“345”, “破折号”:“1045” } ] 我想提取BTC、ETH和DASH的值,并将它们用作整数,以便能够用实时数据打印它们的值,但我得到了这个错误 回溯(最近一次呼叫最后一次): 文件“C:\UniPapei\ΕισαγωγηστηεπιστηεπττητωⅤ∧ογιστων\New folder\Εργ4\bitconerg.py”,第20行,在 data=json.loads(f) 文

JSON文件:

[
{
“姓名”:“Jonh Smith”,
“BTC”:“23”,
“ETH”:“345”,
“破折号”:“1045”
}
]
我想提取
BTC
ETH
DASH
的值,并将它们用作整数,以便能够用实时数据打印它们的值,但我得到了这个错误

回溯(最近一次呼叫最后一次): 文件“C:\UniPapei\ΕισαγωγηστηεπιστηεπττητωⅤ∧ογιστων\New folder\Εργ4\bitconerg.py”,第20行,在 data=json.loads(f) 文件“C:\Users\Argyris\AppData\Local\Programs\Python\Python39\lib\json\u init\u.py”,第339行,在loads中 raise TypeError(f'JSON对象必须是str、bytes或bytearray,' TypeError:JSON对象必须是str、bytes或bytearray,而不是TextIOWrapper


问题是您试图对文件句柄而不是文件内容执行加载。读取文件内容并将其传递给json.loads()

json.load()不接受文件对象。请改用json.load()


顺便说一句,你的JSON值不是JSON数字,而是JSON字符串。Python会将它们反序列化为
str
对象,而不是
int
对象。请参阅:为什么不直接使用
JSON.load
?@juanpa.arrivillaga你的建议是一种更好的方法,我会编辑答案。谢谢你,它成功了为什么不直接使用
JSON.load

with open("crypto.json") as f:
    data = json.loads(f.read())
    result = data

print(type(result))
with open("crypto.json") as f:
    data = json.load(f)
    result = data