社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python:迭代移动文件夹

Winne Loo • 5 年前 • 157 次点击  

我有52k多个csv文件需要整理,我想通过python或其他途径找到一种有效的方法来整理。

目前我有这些文件夹,

2013年第一季度
2013年第二季度
2013年第三季度
2013年第四季度
2014年第一季度…

等等

在四分之一文件夹中,我有另一个文件夹:

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年第一季度的文件夹中,我希望

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还比较陌生,还在学习,所以我有点困惑。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46964
 
157 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Akash Dutta
Reply   •   1 楼
Akash Dutta    6 年前

对于Python3.5及更高版本:

中有一个递归特性 glob 你可以用的。 你做的是 导入全局

在glob.glob上循环('root/**/*.csv',recursive=true)