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

如何使用Pandas读取Kaggle多CSV文件数据集?

多CSV文件读取方案

当然可以使用pd.read_csv()处理这类多文件场景,下面提供两种实用的实现方式:

1. 批量合并所有CSV文件(通用场景)

适用于所有CSV文件列结构一致的情况,直接合并为单个DataFrame:

import pandas as pd
import glob

# 替换为你的CSV文件所在目录路径
csv_dir = "path/to/your/csv/directory/"
# 获取目录下所有CSV文件路径
csv_files = glob.glob(f"{csv_dir}*.csv")

df_collection = []
for file_path in csv_files:
    # 读取单个CSV文件
    df = pd.read_csv(file_path)
    # 可选:添加文件来源标记,便于后续溯源
    df["source_file"] = file_path.split("/")[-1]
    df_collection.append(df)

# 合并所有DataFrame,重置索引
combined_df = pd.concat(df_collection, ignore_index=True)

# 验证合并结果
print(f"合并后总数据量:{combined_df.shape[0]}行,{combined_df.shape[1]}列")

2. 按主题分组合并(针对分part的类别)

针对你的数据集中像Books、Clothing_Shoes_and_Jewelry这类拆分为多个part的类别,可以按主题分组合并,方便后续按类别分析:

import pandas as pd
import glob
from collections import defaultdict

csv_dir = "path/to/your/csv/directory/"
csv_files = glob.glob(f"{csv_dir}*.csv")

# 用字典按主题存储对应DataFrame列表
category_data = defaultdict(list)

for file_path in csv_files:
    # 提取主题名称(如从"Books_5_part0.csv"中提取"Books")
    category_name = file_path.split("/")[-1].split("_5_part")[0]
    df = pd.read_csv(file_path)
    category_data[category_name].append(df)

# 合并每个主题下的多part文件
merged_category_dfs = {
    cat: pd.concat(df_list, ignore_index=True) 
    for cat, df_list in category_data.items()
}

# 示例:查看Books类别的合并结果
print(f"Books类别总数据量:{merged_category_dfs['Books'].shape[0]}行")

关键注意点

  • 若不同文件列结构不一致,合并前需统一列(比如用usecols指定共同列,或填充缺失列);
  • 若单文件过大,可添加chunksize参数分块读取(如pd.read_csv(file_path, chunksize=10000)),逐块合并避免内存压力。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 17:16:10