python ファイルリストCSV出力

python

pythonを使って、PCの特定フォルダ内のファイルリストをCSVで出力します。

ファイルリストを使って便利に情報をリスト化することができます。

データの整理整頓は大事だといきなり思いつきました。

なんとなく、データの整理整頓と言うと、
ファイル名をきちんと付けないといけないとか、
フォルダ分けをしましょうとか、そんな感じのことはよく耳にします。
しかし、大抵の人はファイル名に日付を含めたり、連番をつけたり、
分かりやすくする工夫をしていると思います。

せっかく工夫したファイル名ですから、有効に活用したいですよね。

例えば、社員の提出した書類をPDF等でフォルダにまとめていたとして、
ファイル名が「社員番号 名前」のようになっていたとします。
そして、上司に「未提出の社員に督促かけるから、提出済みと未提出のリストを作れ」と言われたとします。

この時、pythonが使えれば、簡単に提出済みのリストが作れると思いませんか?

ファイルリストをCSV出力するソースコード

import csv
import glob

csv_file = 'filelist.csv'

file_list = []

file_list=(glob.iglob("C:/sample/**", recursive=True))

with open(csv_file, "a", newline="") as f:
    csv_writer = csv.writer(f)
    for line in file_list:
        line = line.rstrip('\n').split(',')
        csv_writer.writerow(line)

コードの説明

ファイル名の変更

csv_file = 'filelist.csv'

作成されるCSVファイルの名前を変えるには、

filelist.csv

この部分を、変更してください。

対象フォルダ指定

file_list=(glob.iglob("C:/sample/**", recursive=True))

リストを取り出したいフォルダを指定するには、

C:/sample/

この部分を適宜変更してください。

おわりに

この方法を使うとCSVの中身は以下のようになります。

C:/python¥filename¥filelist.csv

上記の例では、CSVの中身を一行だけ取り出してみましたが、
実際にはファイルの数だけ行数が増えます。

というわけで、パソコンのフォルダ内のフルパスを簡単にリスト化することができました。

CSVで出力されますので、後はExcelで読み込んで、
区切り位置指定ウィザードを使ってファイル名だけを取り出し、
Vlookupで他のリストとぶつけてやれば、
手作業するよりも簡単に目的が達成できるのではと思います。

コメント

タイトルとURLをコピーしました