Python如何将/Data目录下CSV文件名及内容存入数组?代码返回空数组
解决方法
问题排查与修复步骤
- 修正无效路径:代码里的
path="/'''/Data"是错误格式,需替换为实际有效路径:- 若Data文件夹在Jupyter当前工作目录下,用相对路径
path="./Data"或path="Data" - 若用绝对路径,Linux/macOS写为
/home/你的用户名/Data,Windows写为C:/Users/你的用户名/Data
- 若Data文件夹在Jupyter当前工作目录下,用相对路径
- 修复路径拼接逻辑:手动拼接路径容易出现转义或跨平台兼容问题,推荐用
os.path.join处理:
先导入os模块,再用filenames = glob.glob(os.path.join(path, "*.csv"))来匹配CSV文件 - 验证文件匹配结果:先单独打印路径和匹配到的文件,确认是否能找到目标CSV:
print("当前设置的路径:", path) print("匹配到的CSV文件:", filenames) - 检查文件权限与存在性:确认Data文件夹下确实有
.csv文件,且Jupyter有权限访问该文件夹
修正后的完整代码
import glob import pandas as pd import os dataframes = [] stock_name = [] # 替换为你的实际有效路径 path = "./Data" # 跨平台路径拼接+匹配CSV文件 filenames = glob.glob(os.path.join(path, "*.csv")) for filename in filenames: # 捕获读取异常,避免单个文件出错导致流程中断 try: df = pd.read_csv(filename, index_col=0) dataframes.append(df) # 若只需文件名(不含完整路径),改用os.path.basename(filename) stock_name.append(filename) except Exception as e: print(f"读取文件{filename}失败:{e}") print("成功读取的DataFrame数量:", len(dataframes)) print("文件名列表:", stock_name)
额外提示
- 用
os.getcwd()可以查看Jupyter当前的工作目录,方便调整路径写法 - 若只想提取文件名(不带路径前缀),把
stock_name.append(filename)改成stock_name.append(os.path.basename(filename))即可
内容的提问来源于stack exchange,提问作者Genos_23
相关产品推荐
相关产品推荐

