我需要整理超过52k的csv文件,并希望找到一种有效的方法来通过python或其他途径来实现。
当前我有这些文件夹
2013_Q1
2013_Q2
2013_Q3
2013_Q4
2014_Q1 ...
以此类推
在Quarter文件夹中,我还有另一个文件夹:
xxxx20130101_000500_csv
xxxx20130101_000500_xml
xxxx20130101_001000_csv
xxxx20130101_001000_xml
等。
在该文件夹中,我有以下文件:
xxxx20130101_000500_csv.csv
xxxx20130101_000500_xml.xml
xxxx20130101_001000_csv.csv
xxxx20130101_001000_xml.xml
分别。
我想浏览所有四分之一文件夹,并从每个子文件夹中仅提取.csv文件,并按其各自的日期将它们组织在一个文件夹中。
因此,在2013_Q1文件夹中,我想要
20130101
20130102 ...
以此类推
在该20130101文件夹中将是
xxxx20130101_000500_csv.csv
xxxx20130101_001000_csv.csv
xxxx20130101_001500_csv.csv
现在我有了python代码:
import shutil
import os
os.chdir('C:\\...\\Test')
for f in os.listdir('MovingFolders'):
folderName = f[-19:-11]
if not os.path.exists(folderName):
os.mkdir(folderName)
shutil.copy(os.path.join('MovingFolders', f), folderName)
else:
shutil.copy(os.path.join('MovingFolders', f), folderName)
我是python的新手,并且仍在学习中,所以我有点困惑。
答案 0 :(得分:0)
对于Python 3.5及更高版本:
您可以使用glob中的一个递归功能。 这是你的工作 导入glob
循环遍历glob.glob('root / ** / *。csv',recursive = True)