Python代码:
def konto_all():
lst = [[], []]
for index, x in enumerate(bankstm):
kontoall = x["FIELD7"].replace(",", "."), x["FIELD8"].replace(",", ".")
if kontoall != "" and index > 1:
lst[0].append(kontoall)
lst[1].append(x["FIELD1"].replace("-", ""))
return(lst)
kontoall1 = konto_all()
kontoall = kontoall1[0]
print(kontoall)
Json文件:
{
"FIELD1": "2020-05-27",
"FIELD7": "",
"FIELD8": "56.00"
},
{
"FIELD1": "2020-05-25",
"FIELD7": "109.00",
"FIELD8": ""
},
{
"FIELD1": "2020-05-20",
"FIELD7": "78.90",
"FIELD8": ""
},
{
"FIELD1": "2020-05-19",
"FIELD7": "56.90",
"FIELD8": ""
},
{
"FIELD1": "2020-05-19",
"FIELD7": "46.80",
"FIELD8": ""
},
{
"FIELD1": "2020-05-18",
"FIELD7": "",
"FIELD8": "400.00"
},
当前输出:
[('','56 .00'),('109.00',''),('78 .90',''),('56 .90',''),('46 .80',''),( ”,“ 400.00”)]
想要的输出:
[56.00,-109,-78.90,-56.90,-46.80,400.00]
FIELD7中的每个字符串都应为负浮点数。 来自FIELD8的每个字符串都应为正浮点数。
答案 0 :(得分:0)
此行:
kontoall = x["FIELD7"].replace(",", ".") , x["FIELD8"].replace(",", ".")
实际上是在创建一个元组,结果为[(val, ""), ("", val2), ...]
。
将该行更改为以下行,它将按预期工作:
kontoall = float(x["FIELD7"].replace(",", ".")) or -float(x["FIELD8"].replace(",", "."))
如果field7的值为负,则我们将kontoall
的值设置为field7的值,否则为field8的负数,并将其强制转换为float。