Python遍历目录读取.dat文件列名触发FileNotFoundError求助
解决.dat文件读取时的FileNotFoundError问题
问题核心原因
你遇到的错误根本不是路径格式、.dat文件格式或竖线分隔符的问题,而是没有拼接完整文件路径:
os.walk(dir_path)返回的file只是当前文件夹下的文件名,不是完整路径- 直接用
pandas.read_csv(file)时,Python会在当前工作目录(而非你指定的dir_path)查找这个文件,自然找不到
修正后的代码
import os import pandas as pd dir_path = "C:/Projects/acs5-2022/Datasource/TestSample" column_list = [] for path, subs, file_names in os.walk(dir_path): for file in file_names: # 拼接完整文件路径 full_file_path = os.path.join(path, file) datafile = pd.read_csv(full_file_path, delimiter='|') # 修正列名添加的顺序(原代码写反了) for col in datafile.columns: column_list.append(col) # 可选:去重列名(如果需要) column_list = list(set(column_list)) print(column_list)
额外说明
- 你的路径格式(
C:/...、r"C:\..."、C:\\...)都是正确的,无需调整 - 竖线分隔符
delimiter='|'没问题,匹配你的文件表头格式 - 原代码中
col.append(column_list)是错误的,应该是column_list.append(col),否则会触发"AttributeError: 'str' object has no attribute 'append'"错误
内容的提问来源于stack exchange,提问作者DebH
相关产品推荐
相关产品推荐

