我的
python代码在下面的示例中正常工作.我的代码组合了一个CSV文件目录并匹配标题.但是,我想更进一步 – 如何添加一个附加所用CSV文件名的列?
import pandas as pd import glob globbed_files = glob.glob("*.csv") #creates a list of all csv files data = [] # pd.concat takes a list of dataframes as an agrument for csv in globbed_files: frame = pd.read_csv(csv) data.append(frame) bigframe = pd.concat(data,ignore_index=True) #dont want pandas to try an align row indexes bigframe.to_csv("Pandas_output2.csv")
解决方法
这应该工作:
import os for csv in globbed_files: frame = pd.read_csv(csv) frame['filename'] = os.path.basename(csv) data.append(frame)
frame [‘filename’]创建一个名为filename的新列,os.path.basename()将类似/a/d/c.txt的路径转换为文件名c.txt.