【问题标题】:Panda compare and remove data from csv and xlsPanda 比较并删除 csv 和 xls 中的数据
【发布时间】:2017-01-26 17:11:28
【问题描述】:

我有 2 个文件(一个 .csv 和一个 .xls)。 .csv 只有一列(电子邮件)。 .xls 有很多列。 我尝试比较这两个文件中的电子邮件列,并从 .xls 中删除不在 .csv 中的邮件地址。 邮件地址未排序。

我已经写了一些代码,但我没有达到我的目标:

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)

请问你有什么想法吗? 问候。

【问题讨论】:

    标签: python csv pandas xls


    【解决方案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'])]
    

    希望对你有帮助

    【讨论】:

    • 好的,只选择我想要的,非常感谢。
    • 如何从 csv 中删除所有不包含电子邮件地址的行?
    • 如果它们是空的,你可以df=df[df['email'].isnull()==False],希望对你有帮助,如果问题解决了请标记正确答案:)
    猜你喜欢
    • 2021-12-20
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多