如何将文件目录路径添加为DataFrame的新增列?
解决方法
你可以在读取每个CSV文件的同时,提取文件所在的目录路径并添加为DataFrame的新列,最后合并所有处理后的DataFrame即可。以下是修改后的完整代码:
import pandas as pd import os path = 'main/directory/path' target_filename = "FileName.csv" dfs = [] for root, dirs, files in os.walk(path): for name in files: # 若需匹配以指定名称开头的文件,保留原判断:if name.startswith("FileName.csv") if name == target_filename: file_path = os.path.join(root, name) # 读取当前CSV文件 df = pd.read_csv(file_path) # 添加文件所在目录作为新列 df['file_directory'] = root # 将处理后的DataFrame存入列表 dfs.append(df) # 合并所有DataFrame为一个完整数据集 combined_df = pd.concat(dfs, ignore_index=True) print(combined_df)
关键修改说明:
- 省去了多余的中间列表
csv_file_list,直接在遍历过程中完成文件读取和列添加操作,简化流程 - 直接使用遍历得到的
root变量作为目录路径值,无需额外解析文件路径,避免出错 - 最后通过
pd.concat合并所有处理好的DataFrame,得到包含目录信息的完整数据
内容的提问来源于stack exchange,提问作者IfeOluwa
相关产品推荐
相关产品推荐

