2013-07-23 53 views
0

我有一个非常简单的任务,但我没有用python中的excel做太多的功能,我不知道如何去做这件事。用Python重命名和保存Excel文件

我需要做什么:

要看很多出类拔萃的子文件夹中的文件,根据文件中的信息将其重命名,并将它们全部存储在一个文件夹在别处英寸

的数据结构是这样的:

主文件夹

Subfolder1

File1中

文件2

文件3

...

对于每个子文件夹内约一百子文件夹和一些文件。

从这里,我想从文件中提取公司名称,零件号和日期,并使用它们重命名excel文件。不知道如何重命名文件。

然后将它保存在别的地方。我无法找到所有这些功能,有什么建议吗?

+0

你能从文件中提取公司名称等吗?即您的问题是关于重命名还是关于从文件中获取数据?另外,你有什么尝试? –

回答

1

检查osos.path模块上市文件夹的内容(walklistdir),并与路径名(abspathbasename等)

工作同时,shutil有复制的东西了一些有趣的功能。检出copyfile并根据您从Excel文件中读取的数据指定dst参数。

此页面可以帮助你获得在Excel数据:http://www.python-excel.org/

你可能希望有一些高水平这样的代码:

for subfolder_name in os.listdir(MAIN_FOLDER): 
    # exercise left to reader: filter out non-folders 
    subfolder_path = os.path.join(MAIN_FOLDER, subfolder_name) 
    for excel_file_name in os.listdir(os.path.join(MAIN_FOLDER, subfolder_name)): 
     # exercise left to reader: filter out non-excel-files 
     excel_file_path = os.path.join(subfolder_path, excel_file_name) 
     new_excel_file_name = extract_filename_from_excel_file(excel_file_path) 
     new_excel_file_path = os.path.join(NEW_MAIN_FOLDER, subfolder_name, 
      new_excel_file_name) 
     shutil.copyfile(excel_file_path, new_excel_file_path) 

你必须使用xlrd模块提供extract_filename_from_excel_file自己从我提到的网站。

+0

看起来不错 - 我正在写它。一个问题: 在“对于os.list中的excel_file_name ...”是“子文件夹”子文件夹名称或子文件夹路径? – user2417886

+0

我也很难搞清楚xlrd。有什么建议么? – user2417886

+0

FTFY:它是'subfolder_name'。至于'xlrd',我自己没有太多经验。看看这样的教程:http://www.youlikeprogramming.com/2012/03/examples-reading-excel-xls-documents-using-pythons-xlrd/ –