“手里有别人发过来的150+个excel文件,已知文件命不同,但excel里面的格式是统一的。希望将这些目录下的文件合并到一份excel里面去。
对于这种合并文件的,之前的处理方式都是使用excel VBA来完成的。这一次刚好看了一些python的文件处理方式和使用pandas进行读取excel和输出。具体代码如下:
import pandas as pd
import os
excelpath="F:\\XXX\\"
#初始化一个dataframe用于后面的合并
df=pd.DataFrame({
"FUNCID":[1] ,
"USERID":[1] ,
"USERNAME":[1]
})
for dirpath, dirname, filename in os.walk(excelpath):
for f in filename:
#确认文件路径
# print(excelpath+f)
df1=pd.read_excel(excelpath+f)
#测试是否读取成功
# print(df1)
#合并到一起
df=pd.concat([df,df1])
df.to_excel("F:\\combine.xlsx",index=None)
os.path.listdir()
以及os.walk
获取文件,但是使用之后更喜欢用walk方式,可以直接获得所有文件名。而listdir()
则需要使用isfile()
再进行判定才可以。