0

私は非常に単純なタスクを持っていますが、Python 内で Excel を使用してあまりにも多くの機能を実行したことがなく、これを行う方法がわかりません。

私は何をする必要がありますか:

サブフォルダー内の多くの Excel ファイルを見て、ファイル内の情報に従って名前を変更し、それらをすべて 1 つのフォルダーに別の場所に保存します。

データは次のように構成されています。

メインフォルダー

サブフォルダー1

ファイル1

ファイル2

ファイル3

...

約 100 のサブフォルダーと、各サブフォルダー内のいくつかのファイル。

ここから、ファイル内から会社名、部品番号、および日付を取得し、それらを使用して Excel ファイルの名前を変更します。ファイルの名前を変更する方法がわかりません。

次に、別の場所に保存します。これらすべての関数を見つけるのに苦労しています。何かアドバイスはありますか?

4

1 に答える 1

1

osおよびos.pathモジュールをチェックして、フォルダーの内容を一覧表示し ( walk、 ) 、listdirパス名を操作します (など)。abspathbasename

また、shutilものをコピーするための興味深い機能がいくつかあります。Excelファイルから読み取ったデータに基づいてパラメータをチェックアウトしcopyfileて指定します。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)

私が言及したサイトのモジュールextract_filename_from_excel_fileを使用して、自分で提供する必要があります。xlrd

于 2013-07-23T14:10:25.903 に答える