首页 > 解决方案 > 如果缺少某些键和值,如何填写列表列表?

问题描述

我有一个包含“键和值”的列表列表。但它错过了一个列表键和值。 [[a,1],[b,2][c,3] BLANK [e,5]] 如果我有一个接一个循环的固定键,如何填补 c 和 e 之间的空白,实际上它不必是字典我只需要填充数据作为键和 Nan 数据以将其转换为具有任何代码。有关列表数据列表的更多信息在这里https://pastebin.com/dyRKFN7m

我已经尝试过连接数据,但它错过了字典中的空密钥对。

python3
n = len(columns)
ndf = pd.concat([pd.DataFrame([df['data'][i:i+n].tolist()]) for i in range(0, len(df), n)], ignore_index=True)

此代码也不起作用

d = dict()
last = None
for i, l in enumerate(string.letters_lowercase):
    if l not in d and last is None:
        last = i
    else:
        d.update(dict.from_keys(letters[last:i], 'missing')
        last = None
Expected result is in pastebin link upside

标签: pythonpython-3.x

解决方案


我建议你这样做。我已经查看了您的 Pastbin 数据,因为它似乎充满了打字错误

fixed_keys = ['client_id', 'income', 'outcome', 'sender_bin', 'receiver_bin', 'sender_name', 'receiver_name', 'comment']

data = [["client_id", "1007896"], 
["income", "7896.3"], 
["outcome", "98933.2"], 
["sender_bin", "9999968999"], 
["receiver_bin", "136988966"], 
["sender_name", "Client1"], 
["receiver_bin", "Our Bank"], 
["comment", "Monthly Payment for goods"], 
["client_id", "1002587"], 
["income", "0"], 
["outcome", "6989"], 
["sender_bin", "9968996398"], 
["receiver_bin", "136988966"], 
["sender_name", "client3"], 
["receiver_bin", "Our Bank"], 
["comment", "Goods delivered"], 
["client_id", "1009635"], 
["income", "986.5"], 
["outcome","0"], 
["sender_bin", "136988966"], 
["sender_name", "Account manager Beatrice"], 
["receiver_bin", "Our Bank"], 
["comment", "income from cash collection"]]


for key in fixed_keys:
  isHere = False
  for pair in data:
    if key == pair[0]:
      isHere = True
  if(not(isHere)):
    data.append([key, "Nan"])

推荐阅读