Pythonを使って複数のファイルを結合して一つのファイルにまとめる方法について解説します。ここでは、フォルダ内のテキストファイル(.txt)を一つにまとめる方法について説明します。CSVファイルやログファイルなどテキストベースのファイルであれば、サンプルコードの拡張子を変更すれば対応可能です。
方法1: globモジュールを使用する方法
globモジュールを使用して、フォルダ内のすべてのファイル名を取得し、それらを一つにまとめます。下記は、globモジュールを使用して、フォルダ内のテキストファイルを一つのファイルに結合するコードのサンプルです。
import glob # ファイルの一覧を取得する file_list = glob.glob("folder/*.txt") # ファイルを一つにまとめる with open("result.txt", "w") as outfile: for file_name in file_list: with open(file_name, "r") as infile: outfile.write(infile.read())
このコードは、"folder"フォルダ内のすべての.txtファイルの一覧を取得し、それらを"result.txt"という名前のファイルに書き込むことで、ファイルを一つにまとめます。テキストベースのファイルであれば同様に結合可能ですので、glob.glob("folder/*.txt")
部分の拡張子を.csv
や.log
に変更して実行して下さい。
方法2: osモジュールを使用する方法
osモジュールを使用して、フォルダ内のファイルを一つにまとめることもできます。下記は、osモジュールを使用して、フォルダ内のテキストファイルを一つのファイルに結合するコードのサンプルです。
import os # フォルダ内のすべてのファイルを取得する file_list = os.listdir("folder") # ファイルを一つにまとめる with open("result.txt", "w") as outfile: for file_name in file_list: with open(os.path.join("folder", file_name), "r") as infile: outfile.write(infile.read())
このコードは、"folder"フォルダ内のすべてのファイルの一覧を取得し、それらを"result.txt"という名前のファイルに書き込むことで、ファイルを一つにまとめます。
まとめ
Pythonを使ってフォルダ内のファイルを一つにまとめるには、globモジュールやosモジュールを使用します。上記の方法を使用することで、ログ分析やテキスト分析の際の前処理を効率的に行うことができます。今回はテキストベースのファイルの結合について解説しましたが、PDFファイルの結合も可能です。PythonでのPDFファイルの結合については下記のページで解説しています。
最後にPythonの学習に利用できるUdemy のサイトを紹介します。ぜひ活用ください。
[PR]