Regex TypeError:需要字符串或字节,如对象Python

Regex TypeError:需要字符串或字节,如对象Python,python,python-3.x,regex,pandas,csv,Python,Python 3.x,Regex,Pandas,Csv,我试图迭代来自几个csv文件的pandas系列的一列。 我之所以进行迭代,是因为我需要检查每一行的格式是否符合我们的要求。如果没有,我想为表单(“编辑过的代码”)的每个失败格式创建一个元组,现在有另一个问题了: odfscsv_df = pd.read_csv(csv, header=None,names=['ODFS_LOG_FILENAME', 'ODFS_FILE_CREATE_DATETIME', 'LOT', 'TESTER', 'WAFER_SCRIBE']) odfscsv_df[

我试图迭代来自几个csv文件的pandas系列的一列。
我之所以进行迭代,是因为我需要检查每一行的格式是否符合我们的要求。如果没有,我想为表单(“编辑过的代码”)的每个失败格式创建一个元组,现在有另一个问题了:

odfscsv_df = pd.read_csv(csv, header=None,names=['ODFS_LOG_FILENAME', 'ODFS_FILE_CREATE_DATETIME', 'LOT', 'TESTER', 'WAFER_SCRIBE'])
odfscsv_df['CSV_FILENAME'] = csv.name
odfscdate_re = re.compile(r"\d{10}")
#print(odfscsv_df)

errortup = [(odfsname, "Bad_ODFS_FILE_CREATE_DATETIME= " + cdatetime, csv.name) for odfsname,cdatetime in zip(odfscsv_df['ODFS_LOG_FILENAME'], odfscsv_df['ODFS_FILE_CREATE_DATETIME']) if not odfscdate_re.search(str(cdatetime))]

但是现在我遇到了一个问题,我需要标记错误的csv文件并将其移动到特定目录中。如何通过列表理解来做到这一点?

编辑代码购买现在有另一个问题:

odfscsv_df = pd.read_csv(csv, header=None,names=['ODFS_LOG_FILENAME', 'ODFS_FILE_CREATE_DATETIME', 'LOT', 'TESTER', 'WAFER_SCRIBE'])
odfscsv_df['CSV_FILENAME'] = csv.name
odfscdate_re = re.compile(r"\d{10}")
#print(odfscsv_df)

errortup = [(odfsname, "Bad_ODFS_FILE_CREATE_DATETIME= " + cdatetime, csv.name) for odfsname,cdatetime in zip(odfscsv_df['ODFS_LOG_FILENAME'], odfscsv_df['ODFS_FILE_CREATE_DATETIME']) if not odfscdate_re.search(str(cdatetime))]

但是现在我遇到了一个问题,我需要标记坏的csv文件并将其移动到一个特定的目录中。如何通过列表理解来做到这一点?

errortup=[x for x in odfscsv_df['ODFS_file_CREATE_DATETIME']如果不是odfscdate_re.search(str(x))]是的,我想一旦我输入了它lol。我现在的问题是,当且仅当x与正则表达式不匹配时,我如何才能制作元组列表。我累了:errortup=[(odfscsv_df['ODFS_LOG_FILENAME'],x,csv.name)对于odfscsv_df['ODFS_FILE_CREATE_DATETIME']中的x,如果不是odfscdate_re.search(str(x))],但它给出了文件中的一切['ODFS_LOG_FILENAME']==>你选择了整个列。你今天想做什么?你想要什么信息?你可以使用pandas条件选择。这会更简单。@PramoteKuacharoen从来没有听说过pandas条件选择。它做什么?它使用正则表达式吗。我在列表理解中使用zip命令找到了我想要做的事情。errortup=[x代表odfscsv_df['ODFS_FILE_CREATE_DATETIME']如果不是odfscdate_re.search(str(x))]是的,我想一旦我输入了它lol。我现在的问题是,当且仅当x与正则表达式不匹配时,我如何制作元组列表。我累了:在odfscsv_df['ODFS_LOG_FILENAME'],x,csv.name)中,x代表odfscsv_df['ODFS_FILE_CREATE_DATETIME']如果不是odfscdate_re.search(str(x))],但它提供了文件.odfscsv_df['ODFS_LOG_FILENAME'中的所有内容==>你选择了整个列。你今天想做什么?你想要什么信息?你可以使用pandas条件选择。这会更简单。@PramoteKuacharoen从来没有听说过pandas条件选择。它做什么?它使用正则表达式。我在列表理解中使用zip命令找到了我想要做的事情。
odfscsv_df = pd.read_csv(csv, header=None,names=['ODFS_LOG_FILENAME', 'ODFS_FILE_CREATE_DATETIME', 'LOT', 'TESTER', 'WAFER_SCRIBE'])
odfscsv_df['CSV_FILENAME'] = csv.name
odfscdate_re = re.compile(r"\d{10}")
#print(odfscsv_df)

errortup = [(odfsname, "Bad_ODFS_FILE_CREATE_DATETIME= " + cdatetime, csv.name) for odfsname,cdatetime in zip(odfscsv_df['ODFS_LOG_FILENAME'], odfscsv_df['ODFS_FILE_CREATE_DATETIME']) if not odfscdate_re.search(str(cdatetime))]