Python - pandas 利用 某一列的值過濾資料

chuangzhou發表於2024-06-17
# FA存在3D不存在建模的程式碼(1).txt
EDLG-S1-M3-L12

有一個excel:

需求:
利用txt 中的程式碼去匹配execl 中的 調整後的規格型號,將匹配的資料保留,生成新的excel

import pandas


with open('FA存在3D不存在建模的程式碼(1).txt', 'r') as f:
    txt_codes = {item.replace('\n', '') for item in f.readlines()}

df = pandas.read_excel('轉化調整明細.xlsx')

# 新增一列 標記行
df['KeepRow'] = df['調整後規格型號'].apply(lambda code: code in txt_codes)

print(df['KeepRow'])
'''
1    True
'''


# 過濾為True的行
df = df[df['KeepRow']]
print(df)
'''
             原規格型號   調整數量         調整後規格型號          備註  KeepRow
1  EDLW-S1-M1.6-L4  31961  EDLG-S1-M3-L12  fasfdsdfas     True
'''

with pandas.ExcelWriter('test.xlsx') as w:
df.to_excel(w, sheet_name='final', index=False, columns=df.columns[:-1])

相關文章