按列和行筛选正则表达式。合并

2024-09-28 22:35:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在想办法解决这个问题

第一行包含:编号:INC00012,附加注释:尚未请求

第二行包含:NUMBER:INC0000001,AdditionalComment:w尚未请求 DF\u FILE\u PATH=指向csv的方向。包含这些行的文件

WrongData_REG_EXP =(DF_FILE_PATH
     .filter(DF_FILE_PATH.Number.rlike('^((?!INC([0-9]){7}).)*$'))
     .filter(DF_FILE_PATH.AdditionalComments.rlike('^((?!Not Yet Requested).)*$'))
     )
     display (WrongData_REG_EXP)

当我只加载一个过滤器时,它显示的变量不正确。但当我添加一个新的过滤器。它什么也没显示。这是因为没有包含这两个正则表达式的行。 但是另一行有第二个过滤器,第一行有第一个过滤器

我如何同时显示它们


Tags: path过滤器numberdfregfilter编号file
1条回答
网友
1楼 · 发布于 2024-09-28 22:35:53

我用python在Databricks中解决了这个问题

query = '''
       Get Corrupt records
    select * from bi4it_da.{0}_{1}_{2}_full_no_corrupt_NEW
    where number in
    (
    SELECT {0}_{1}_{2}_Full_No_Corrupt_NEW.number FROM BI4IT_DA.{0}_{1}_{2}_Full_No_Corrupt_NEW
    MINUS
    SELECT {0}_{1}_{2}_Full_Data_Set.number FROM BI4IT_DA.{0}_{1}_{2}_Full_Data_Set
    )
    '''.format(PROCESS_TYPE, SOURCE_SYSTEM, SOURCE_FILE_NAME)
display(spark.sql(query))

完整的数据集减去良好的记录,错误的记录仍然存在

相关问题 更多 >