这应该工作:
import os for csv in globbed_files: frame = pd.read_csv(csv) frame['filename'] = os.path.basename(csv) data.append(frame)
@H_404_5@
frame['filename']
创建一个名为的新列filename
,os.path.basename()
并将类似的路径/a/d/c.txt
转换为filenamec.txt
。解决方法
我的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 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")
frame['filename']
创建一个名为的新列filename
,os.path.basename()
并将类似的路径/a/d/c.txt
转换为filenamec.txt
。
我的python代码在以下示例中正常运行。我的代码结合了CSV文件的目录并匹配标题。但是,我想更进一步-如何添加一列附加所使用CSV文件名的列?
frame['filename']
创建一个名为的新列filename
,os.path.basename()
并将类似的路径/a/d/c.txt
转换为filenamec.txt
。