Jupyter Notebook文件夹路径报错及文件转DataFrame处理需求
问题解决与实现方案
错误根源
你代码里的路径包含\D,Python会把反斜杠\识别为转义字符,而\D不属于合法转义序列,因此触发SyntaxWarning。
路径修复方案(三选一)
1. 双反斜杠替换单个反斜杠
file_path = "C:/Users/844444/OneDrive - hull.ac.uk/T3\\Dataset/Crystal Clean-Brain Tumors MRI Dataset"
2. 原始字符串(前缀加r,忽略转义)
file_path = r"C:/Users/844444/OneDrive - hull.ac.uk/T3\Dataset/Crystal Clean-Brain Tumors MRI Dataset"
3. 统一使用正斜杠(跨平台兼容,推荐)
file_path = "C:/Users/844444/OneDrive - hull.ac.uk/T3/Dataset/Crystal Clean-Brain Tumors MRI Dataset"
完整需求实现代码
以下代码完成提取文件名存入DataFrame、整合所有文件内容到单个DataFrame的需求(默认文件为CSV格式,若为Excel可替换pd.read_csv为pd.read_excel):
import os import pandas as pd # 修复后的路径(以原始字符串为例) file_path = r"C:/Users/844444/OneDrive - hull.ac.uk/T3\Dataset/Crystal Clean-Brain Tumors MRI Dataset" # 筛选文件夹内的文件(排除子文件夹) files = [f for f in os.listdir(file_path) if os.path.isfile(os.path.join(file_path, f))] # 文件名存入DataFrame file_name_df = pd.DataFrame({"文件名": files}) print("文件夹内文件名列表:") print(file_name_df) # 整合所有文件内容到单个DataFrame combined_df = pd.DataFrame() for file in files: full_file_path = os.path.join(file_path, file) # 读取文件,根据实际格式调整读取函数 single_file_df = pd.read_csv(full_file_path) # 添加来源文件列,方便溯源 single_file_df["来源文件"] = file combined_df = pd.concat([combined_df, single_file_df], ignore_index=True) print("\n整合后的完整DataFrame:") print(combined_df.head())
补充说明
- 若需遍历子文件夹内的文件,可替换
os.listdir为os.walk()循环遍历 - 非CSV格式文件,需对应修改
pd.read_*系列读取函数,如Excel用pd.read_excel()、文本文件用pd.read_table()
内容的提问来源于stack exchange,提问作者Francis
相关产品推荐
相关产品推荐

