多个文件 git 文件夹_多个文件夹文档的合并

# _*_ coding:utf-8 _*_import osimport pandas as pd

d40fcf838cc1c70c9c89d318c7f33baf.png

286ac933daf44267b3e0342e57626a96.png

dir="F:BaiduNetdiskDownloadExcel.VBA初中高级视频教程.80集第49集_文件夹遍历2011年报表"#设置工作路径

filename=[]#新建列表,存放每个文件数据框(每一个excel读取后存放在数据框)

frame=[]#新建列表,存放每个文件数据框(每一个excel读取后存放在数据框)

for root,files,documents in os.walk(dir):# print(root,documents)for document in documents:# print(document) # print(os.path.join(root,document))#返回文件路径及文档名称if document=="销售报表.xls":#至提取指定文档进行合并。
filename.append(os.path.join(root,document))#返回文档路径列表
df=pd.read_excel(os.path.join(root,document)) #excel转换成DataFrame
frame.append(df)else:continue
result=pd.concat(frame)
print(filename)# print(frame)# print(result)
result.head()# result.shape
result.to_excel("F:BaiduNetdiskDownloadExcel.VBA初中高级视频教程.80集第49集_文件夹遍历2011年报表concat.xls")

c63bcbb0b4087247bfa078ecf81700d4.png

如果:result=pd.concat(frame,axis=1,ignore_index=True) 默认axis=0

ec2d0dd74279bc3f191f77c680b59742.png

如果:result=pd.concat(frame,axis=1,ignore_index=False)

默认axis=0,ignore_index=False

8e38f705e17303a8fad8a5b4cea15d03.png

如果:result=pd.concat(frame,axis=0,ignore_index=False,keys=filename)#文档路径

94ffcbd1bbd068c47884ab4682869b4d.png

df=pd.read_excel("F:BaiduNetdiskDownloadExcel.VBA初中高级视频教程.80集第49集_文件夹遍历2011年报表concat.xls",usecols="a,c:g",index_col="订单号",)
df.to_excel("F:BaiduNetdiskDownloadExcel.VBA初中高级视频教程.80集第49集_文件夹遍历2011年报表concat2.xls")

44ceee704b28c8f66c5f1ce0b402043e.png

备注:

# for i in os.walk(dir):#依次返回路径,文件夹,工作表,先返回当前文件夹的路径+文件夹名称1+工作表,然后在返回文件夹1中的路径,文件,工作表,直至遍历到没文件夹# # print(i[0])# # print(i[0],i[1],i[2])# # print(i[0], i[1]+i[2])# # print(i[2])# filename.append(i[2])# print(filename)# print(len(filename))

s1=pd.Series(['a','b'],["w",'q'])
s2=pd.Series([2,8],['r','y'])

s3=pd.Series(['b','f'])

s4=pd.Series(['b','h','e'])

df=pd.concat([s1,s2],ignore_index=False)

w a

q b

r 2

y 8

df=pd.concat([s1,s2],ignore_index=True)

0 a

1 b

2 2

3 8

df=pd.concat([s1,s2,s3],ignore_index=True)#默认 join='outer'

0 a

1 b

2 2

3 8

4 b

5 f

df1=pd.DataFrame([list(s1),list(s2)],columns=['a1','a2'])
df2=pd.DataFrame([list(s3),list(s4)],columns=['a1','a2','a3'])
df0=pd.concat([df1,df2],sort=True/False)#默认sort=None,可输出,但会报警告信息,默认join=“outer”,axis=0,ignore_index=False

print(df0)

a1 a2 a3

0 a b NaN

1 2 8 NaN

0 b f None

1 b h e

如果:df0=pd.concat([df1,df2],join='inner',sort=False)

a1 a2

0 a b

1 2 8

0 b f

1 b h

如果:df0=pd.concat([df1,df2],join='inner',sort=False,axis=1)#按列追加合并

a1 a2 a1 a2 a3

0 a b b f None

1 2 8 b h e

如果:df0=pd.concat([df1,df2],join='inner',sort=False,axis=0,ignore_index=True)#舍弃原索引

a1 a2

0 a b

1 2 8

2 b f

3 b h

print(df0.set_index(df0["a1"]))

a1 a2

a1

a a b

2 2 8

b b f

b b h

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值