Mam duży plik danych i muszę usunąć wiersze zakończone pewnymi literami.Python: Jak usunąć wiersze kończące się niektórymi znakami?
Oto przykład pliku używam:
User Name DN
MB212DA CN=MB212DA,CN=Users,DC=prod,DC=trovp,DC=net
MB423DA CN=MB423DA,OU=Generic Mailbox,DC=prod,DC=trovp,DC=net
MB424PL CN=MB424PL,CN=Users,DC=prod,DC=trovp,DC=net
MBDA423 CN=MBDA423,OU=DNA,DC=prod,DC=trovp,DC=net
MB2ADA4 CN=MB2ADA4,OU=DNA,DC=prod,DC=trovp,DC=netenter code here
kod używam:
from pandas import DataFrame, read_csv
import pandas as pd
f = pd.read_csv('test1.csv', sep=',',encoding='latin1')
df = f.loc[~(~pd.isnull(f['User Name']) & f['UserName'].str.contains("DA|PL",))]
Jak używać składni wyrażeń regularnych do usunięcia słów, które kończą się " DA "i" PL ", ale upewnij się, że nie usuwam pozostałych wierszy, ponieważ zawierają one" DA "lub" PL "wewnątrz nich?
Należy usunąć wiersze i I skończyć z pliku jak poniżej:
User Name DN
MBDA423 CN=MBDA423,OU=DNA,DC=prod,DC=trovp,DC=net
MB2ADA4 CN=MB2ADA4,OU=DNA,DC=prod,DC=trovp,DC=net
Pierwsze 3 wiersze są usuwane, ponieważ zakończył się w DA i PL.
Nie endswith akceptują regex? Podejrzewam, że używa jednego pod maską. –
Też tak pomyślałem, nawet doktorzy twierdzą, że pierwszy argument jest wzorcem, ale nie mogłem go rozpoznać w regex. –
@AndyHayden widocznie to bierze krotkę. –