Pandas在遍历目录时不会向dataframe添加列

2024-05-02 04:41:47 发布

您现在位置:Python中文网/ 问答频道 /正文

每次运行时,我都会尝试通过遍历如下目录在dataframe中添加一列

import pandas as pd
import os
import sys

########generate file path
'getcwd:      ', os.getcwd()
osfile, maindir =('__file__:    ', __file__)
filename = os.path.basename(sys.argv[0])
inpath = maindir.replace(filename,"Excels")
outpath = maindir.replace(filename,"BulkFile.xlsx")


#########pandas script
def add_column():
    for root, dirs, files in os.walk(inpath):
        print(files)
        for f in files:
            path = os.path.join(root, f)
            excelframe = pd.read_excel(path)
            excelframe['full_name'] = excelframe['first_name'] + " " + excelframe['last_name']
            dataframe = [excelframe]
            compactframe = pd.concat(dataframe)
            compactframe.to_excel(outpath)

它什么也不做,没有错误代码或其他什么,它什么也不做。 但是如果我不遍历一个目录并用这个替换这个脚本

import pandas as pd
import sys
import os



#####generate file path
osfile, maindir =('__file__:    ', __file__)
filename = os.path.basename(sys.argv[0])
inpath = maindir.replace(filename,"BulkFile.xlsx")
outpath = maindir.replace(filename,"newfile.xlsx")




########pandas script
excelframe = pd.read_excel(inpath)
excelframe['full_name'] = excelframe['first_name'] + " " + excelframe['last_name']
dataframe = [excelframe]
compactframe = pd.concat(dataframe)
compactframe.to_excel(outpath)

它很好用。 有人知道为什么会这样,或者知道如何遍历目录并向数据帧添加列吗