Python如何通过函数批量加载CSV文件并调用head()查看前5行数据
批量加载CSV并批量预览的实现方法
不要逐行写重复的pd.read_csv赋值独立变量,用字典统一管理加载后的DataFrame,配合循环即可实现批量加载、批量预览,代码可复用性更高,后续增删加载的文件也只需要修改文件列表即可,不用增删大段重复代码。
完整实现代码
首先确保导入依赖库:
import os import pandas as pd
封装通用的加载+预览函数:
def batch_load_csv(base_path, file_list, preview_n=5): """ 批量加载指定目录下的CSV文件,自动打印每个文件的前N行预览 参数说明: base_path: 数据存储的根路径,对应你原有代码里的path变量 file_list: 需要加载的CSV文件名列表 preview_n: 每个文件预览的行数,默认显示前5行 返回值: 字典结构,键为文件名(去除.csv后缀),值为加载完成的DataFrame对象 """ df_collection = {} export_dir = os.path.join(base_path, 'Data Exports') for csv_file in file_list: full_path = os.path.join(export_dir, csv_file) # 读取csv文件 current_df = pd.read_csv(full_path) # 存入字典 dict_key = csv_file.removesuffix('.csv') df_collection[dict_key] = current_df # 打印预览内容,加分隔线区分不同文件 print(f"{'='*25} {csv_file} 预览 {'='*25}") print(current_df.head(preview_n)) print("\n") return df_collection
结合你原有的用户判断逻辑调用函数:
# 保留你原有的路径权限判断逻辑 if 'myName' in user or user == '/Users/rick': # 生成需要加载的8个文件名列表,后续要调整加载的文件直接改这里即可 csv_files = [f"file{i}.csv" for i in range(1, 9)] # 执行加载+自动预览,所有加载完成的DataFrame存在all_data变量里 all_data = batch_load_csv(path, csv_files)
使用说明
- 后续需要调用某个文件的数据时,直接通过字典键取值即可,和你之前单独定义变量的用法完全一致,比如取file1的DataFrame就写
all_data['file1'],不需要修改原有后续分析的代码逻辑。 - 如果需要调整预览行数,调用函数时传入
preview_n参数即可,比如要预览前10行就写batch_load_csv(path, csv_files, preview_n=10)。 - 路径拼接使用
os.path.join替代字符串直接相加,可兼容Windows、macOS不同系统的路径斜杠规则,避免路径报错。 - 如果需要加载目录下所有CSV文件,不需要手动写文件名列表,可以用以下代码自动扫描目录下的CSV文件:
export_dir = os.path.join(path, 'Data Exports') csv_files = [f for f in os.listdir(export_dir) if f.lower().endswith('.csv')]
内容的提问来源于stack exchange,提问作者Derrick Kuria
相关产品推荐
相关产品推荐

