我已经编写了一个代码来读取多个文件,格式化数据并将它们合并到一个数据帧中:
import os.path
import glob
def get_merged_file(flist, **kwargs):
fdf=pd.DataFrame()
for f in flist:
df=pd.read_excel(f, **kwargs)
df=df.iloc[4:-1]
df.columns=df.iloc[0]
df=df.iloc[1:].reset_index(drop=True)
df = df.iloc[:, :-4]
fdf.append(df)
return fdf
path='S:/random path'
fls = os.path.join(path, 'Report*.xls')
dff = get_merged_file(glob.glob(fls))
print(dff)
但这是回归
清空DataFrame
列:[]
索引:[]
非常感谢任何帮助。
答案 0 :(得分:0)
我认为让函数返回已解析的数据框并使用pd.concat
完全放置它们会更好。
import os.path
import glob
def get_file(fp, **kwargs):
df = pd.read_excel(f, **kwargs)
df = df.iloc[4:-1]
df.columns = df.iloc[0]
df = df.iloc[1:].reset_index(drop=True)
df = df.iloc[:, :-4]
return df
path='S:/random path'
fls = os.path.join(path, 'Report*.xls')
dff = pd.concat([get_file(f) for f in glob.glob(fls)])
print(dff)