You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何批量读取同文件夹下CSV为独立DataFrame并筛选指定列

股票CSV批量读取与处理实现方案

核心实现思路是用字典存储不同股票的DataFrame,key为股票代码,value为对应筛选后的数据集,同时读取阶段直接指定需要的列,减少内存占用。
修改后可直接运行的代码如下:

import pandas as pd
import os
import glob

# 获取当前文件夹下所有csv文件路径
path = os.getcwd()
csv_files = glob.glob(os.path.join(path, "*.csv"))

# 初始化空字典存储所有股票DataFrame
stock_dfs = {}

# 循环处理每个csv文件
for f in csv_files:
    # 从文件名提取股票代码(如AAPL.csv提取出AAPL)
    stock_code = os.path.basename(f).split('.')[0]
    # 读取时仅保留需要的两列,无需后续裁剪
    df = pd.read_csv(f, usecols=['Date', 'Adj Close'])
    # 存入字典
    stock_dfs[stock_code] = df
    
    # 可选:打印验证信息
    print(f'已处理股票:{stock_code}')
    print('数据预览:')
    print(df.head(), '\n')

调用方式

需要单独调取某只股票的数据时,直接通过股票代码从字典取即可:

# 调取苹果公司的股票数据
print(stock_dfs['AAPL'])

# 调取阿里巴巴的股票数据
print(stock_dfs['BABA'])

如果确实需要生成独立的全局变量(比如AAPL_df、BABA_df这种单独变量名),可以把循环内的存储逻辑替换为以下代码(不推荐,变量过多时管理成本较高):

for f in csv_files:
    stock_code = os.path.basename(f).split('.')[0]
    df = pd.read_csv(f, usecols=['Date', 'Adj Close'])
    # 动态生成全局变量
    globals()[f'{stock_code}_df'] = df

# 调用示例
print(AAPL_df)

内容的提问来源于stack exchange,提问作者Leonard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 01:00:03