# 1.按道理来说,纵向合并后len(df_empty)=3086788,以下代码执行后,查看发现len(df_empty)=9260364,即正确结果的3倍,这是什么原因?如何解决?
for parents,dirnames,filenames in os.walk(inputdir):
for filename in filenames:
df=pd.read_excel(os.path.join(parents,filename))
df_empty=df_empty.append(df,ignore_index=True)
data_index=pd.read_excel(r"C:\Users\Polaris\Desktop\B\附件_水表层级.xlsx")
data_index.dropna(axis=0,thresh=7,inplace=True)
data=df_empty.copy()
你每次合并的列数输出一下就知道
代码没有什么问题,你需要在for循环外先定义一个df_merge=pd.DataFrame(),置初值为空数据框。检查一下inputdir下的文件是不是有其他的文件被读取进来,各个表格的表头是不是一致。
import pandas as pd
import os
inputdir='./test_data'
df_merge=pd.DataFrame()
for parents, dirnames, filenames in os.walk(inputdir):
for filename in filenames:
df = pd.read_excel(os.path.join(parents, filename))
df_merge = df_merge.append(df, ignore_index=True)
print(df_merge,'\n',len(df_merge))
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y