python - 如何根据数据框列中的数据从文件夹中复制特定文件
问题描述
我有一个包含文件集合的文件夹。我想将这些文件的子集复制到另一个文件夹。我需要根据数据框的两列过滤我的文件。
所以,我的数据框有CN
和date
列,我的文件名中的模式是这样的:
09060083_1542296310_2_CON_ENT-Floor-Practice_2015-09-25-false_MRB3738.txt
其中第一个9 charachter
是我CN
在数据框中的列,here 09060083
。并且此文件名中的日期date
在我的数据框中2015-09-25
。
有了这些解释,我怎样才能只复制数据框中的文件?
到目前为止,我已经这样做了:dffinal
是我的数据框。
source_path = 'path to source folder'
files = os.listdir(source_path)
out_path ='destination path to copy the filtered files there'
files2 = [f for f in files if (re.match(r'\d{4}-\d{2}-\d{2}', f)==dffinal['date']) & (f.rfind[1:8]==dffinal['CN'])]
copyfile(files2,out_path)
这个链接对我没有帮助,因为它只匹配文件名中的一些模式,而不是最终在数据框中找到它们。
更新我觉得这是一个简单的问题,虽然还没有成功,但我不知道如何解决它:| 当我只考虑第一个条件来检查有什么问题时:
files2 = [f for f in files if ((re.search(r'\d{4}-\d{2}-\d{2}',f).group(0))==(dffinal['date']))]
引发错误:ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
谢谢 :)
解决方案
推荐阅读
- jquery - I want to know why an error occurred when I sent an array to view with jquery ajax (django,jquery)
- firebase - What is the best practice for a multi-tenant app with Collection Group Queries in Firestore?
- algorithm - Solving a recurrence relation for a recursive function
- abap - Method importing parameter type range of any
- php - 为什么 finfo_buffer() 返回的 mime-type 与 mime_content_type() 不同?
- flutter - 未按预期从等待函数返回未来
- r - 没有填充的堆积条形图?
- python - 如何在新模型创建过程中获取 ForeignKey 字段值?
- javascript - 为什么我的密码验证码不起作用?
- c# - 如何修复 System.Xml.Linq.XContainer.Element(...) 返回 null