我有2个部分的200个文件。例如。 ( aapl-BAL-Q.csv 和 aapl-CAS-Q.csv )我将它们与pandas合并到 aapl-ALL.csv :
import pandas as pd
a = pd.read_csv('.../aapl-BAL-Q.csv')
b = pd.read_csv('.../aapl-CAS-Q.csv')
c = pd.concat([a,b], join='outer', axis=0, ignore_index=True, join_axes=None)
c.to_csv('...aapl-ALL.csv', index=False)
现在我需要为其余文件执行此操作(例如 aa-BAL-Q.csv 和 aa-CAS-Q.csv )等等..我想知道如何最简单的方式,而不是在代码中重命名文件名,tnx。
答案 0 :(得分:1)
pathlib.Path('/path/to/data_dir').glob('*.csv')
from pathlib import Path
p = Path(r'/path/to/data/directory')
files = pd.Series([f.name for f in p.glob('*.csv')])
(files.groupby(files.str.split('-').str[0])
.apply(lambda g: pd.concat([pd.read_csv(p / f) for f in g], ignore_index=True)
.to_csv(p / (g.name.split('-')[0] + '-ALL.csv'), index=False)))