我有一個陣列串列,每個陣列有兩個值,它們對應于 Excel 的兩列。我想知道如何檢查每個陣列的第二個值?
這是結構...
[['AIGSALPPMM', 'AVIVANVS'], ['DKEPBARCLA', 'DAVIDSNKC'], ['DAVKEMBDBL', 'DAVIDSNKC'], ['DAKEMJPMPB', '']]
使用此代碼,我從表中檢索值并創建一個串列,該串列回傳幾個陣列,其中包含我需要檢查的這兩列的值。
#Read the excel and convert to list
df = pd.read_excel('check_counterparties.xlsx', sheet_name = 'counterparties_cdwu', usecols = "A,B", skiprows=4)
dataList = df.values.tolist()
# print(dataList)
如您所見,最后一個陣列的第二個值為空。
我想要的是檢查每個陣列的第二個值是否為空。如果是,我想從具有第二個空值的陣列中回傳兩個值。
知道我該怎么做嗎?
uj5u.com熱心網友回復:
main_arr = [['AIGSALPPMM', 'AVIVANVS'], ['DKEPBARCLA', 'DAVIDSNKC'], ['DAVKEMBDBL', 'DAVIDSNKC'], ['DAKEMJPMPB', '']]
for arr in main_arr:
if arr[1] == '':
print (arr)
uj5u.com熱心網友回復:
使用串列理解:
lst = [['AIGSALPPMM', 'AVIVANVS'], ['DKEPBARCLA', 'DAVIDSNKC'], ['DAVKEMBDBL', 'DAVIDSNKC'], ['DAKEMJPMPB', '']]
>>> [sublist for sublist in lst if len(sublist[-1].strip())==0]
[['DAKEMJPMPB', '']]
uj5u.com熱心網友回復:
使用布爾掩碼過濾您的行:
df = pd.read_excel('check_counterparties.xlsx', sheet_name='counterparties_cdwu',
usecols=['A', 'B'], skiprows=4)
out = df[df['B'] == '']
輸出:
# DataFrame format
>>> out
A B
3 DAKEMJPMPB
# List format
>>> out.to_dict(orient='split')['data']
[['DAKEMJPMPB', '']]
uj5u.com熱心網友回復:
干得好:
your_list = [['AIGSALPPMM', 'AVIVANVS'], ['DKEPBARCLA', 'DAVIDSNKC'], ['DAVKEMBDBL', 'DAVIDSNKC'], ['DAKEMJPMPB', '']]
new_list = [[val[0], val[0]] if val[-1]=='' else val for val in your_list]
new_list
如果我誤解了你的問題,請糾正我
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/336674.html
