pandasで指定ディレクトリのファイルをマージ
複数に分かれているcsvやfeatherのファイルをマージする。
for文でやるより高速。
import pathlib
import pandas as pd
def merge_files(file_path:str, extension:str = 'csv') -> pd.DataFrame:
"""複数のファイルを読み込みマージする
Args:
file_path (str): マージ対象のディレクトリのパス
extension (str, optional): 読込対象の拡張子。デフォルトは'csv'
Returns:
pd.DataFrame: マージ後のDataFrame
"""
files = [pd.read_csv(str(path)) for path in pathlib.Path(file_path).glob(f'*.{extension}')]
return pd.concat(files, sort=False)
df = merge_files('data')