2017-01-26 2 views
0

У меня есть 2 файла (.csv и .xls). . CSV имеют только один столбец (e-mail). . Xls имеют много столбцов. Я пытаюсь сравнить столбцы электронной почты в этих двух файлах и удалить из почтового адреса .xls не в .csv. Адрес электронной почты не сортируется.Panda сравнить и удалить данные из csv и xls

меня написать код, но я не достиг своей цели:

excel = pd.read_excel(file, skiprow=10, parse_cols = 'AL') 
csv = pd.read_csv(namelist_file) 
excel_keep = excel[excel.isin(csv)] 
mask = excel.isin(csv.tolist()) 
excel[~mask] 
print(excel_keep) 

У вас идею, пожалуйста? С уважением.

ответ

1
df_csv = pd.read_csv(path_to_csv) 
df_xlsx = pd.read_excel(path_to_excel) 

## assuming column header for email in both files is 'email' 
## if not change it by df = df.rename(columns={'oldName': 'email'}) 

df_xlsx = df_xlsx[df_xlsx['email'].isin(df_csv['email'])] 

надежда, что помогает

+0

Хорошо, что выбрать только то, что я хочу поблагодарить вас очень много. – Oyabi

+0

Как удалить все строки, которые не содержат адрес электронной почты из csv? – Oyabi

+0

Если они являются нулями внутри, вы можете df = df [df ['email']. Isnull() == False], надеюсь, что это поможет, если проблема решена PLS отметить правильный ответ :) – epattaro

Смежные вопросы