如何将目录路径作为另一列添加到数据帧中



我使用这个python脚本在文件夹的子目录中获取具有特定名称的csv文件,并将它们读取到数据帧中,我一直试图将它们的目录路径作为另一列添加到数据帧,但我一直遇到错误。

import pandas as pd
import glob
import os
path = 'main/directory/path'
file_extension = '.csv'
csv_file_list = []
for root, dirs, files in os.walk(path):
for name in files:
if name.startswith("FileName.csv"):
file_path = os.path.join(root, name)
csv_file_list.append(file_path)
#print(file_path)
#data = pd.concat(csv_file_list, ignore_index=True)

dfs = [pd.read_csv(f) for f in csv_file_list]
print(dfs)

如何将这些文件的目录路径添加为数据帧中的另一列。

读取df的路径并将其作为循环本身中的新列附加。

import pandas as pd
import glob
import os
path = 'main/directory/path'
file_extension = '.csv'
dfs= []
for root, dirs, files in os.walk(path):
for name in files:
if name.startswith("FileName.csv"):
file_path = os.path.join(root, name)
df=pd.read_csv(file_path)
df["file_path"] = str(file_path)
dfs.append(df)
dfs = pd.concat(dfs)
print(dfs)

希望这就是您想要的

import pandas as pd
import glob
import os
path = 'main/directory/path'
file_extension = '.csv'
csv_file_list = []
for root, dirs, files in os.walk(path):
for name in files:
if name.startswith("FileName.csv"):
file_path = os.path.join(root, name)
csv_file_list.append(file_path)
#print(file_path)
#data = pd.concat(csv_file_list, ignore_index=True)

dfs = [pd.read_csv(f) for f in csv_file_list]
dfs = [df[i].insert(0,"file_path",csv_file_list[i]) for i in range(len(dfs))]
print(dfs)

你也可以连接你的数据帧

df_concated = pd.concat(dfs)
print(df_concated)

最新更新