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)杰森文件: { "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 中的每個字符串都應該是正浮點數。
1 回答

Helenr
TA貢獻1780條經驗 獲得超4個贊
這行:
kontoall = x["FIELD7"].replace(",", ".") , x["FIELD8"].replace(",", ".")
實際上是創建一個元組,這會導致[(val, ""), ("", val2), ...]
.
將該行更改為以下內容,它將按預期工作:
kontoall = float(x["FIELD7"].replace(",", ".")) or -float(x["FIELD8"].replace(",", "."))
kontoall
這里,如果 field7 的值是 field8 的負數,則我們將 value 設置為 field7 的值,并將其轉換為浮點數。
添加回答
舉報
0/150
提交
取消