MATLAB如何使用 readtable 优化百万级别CSV文件的读取速度


前言

用于处理位于指定目录下的多个CSV文件,通过读取数据、处理日期列、转换分类数据、合并结果以及删除重复行,最终将处理后的数据保存为MAT文件。使用 readtable 读取数据,以提高读取效率,并通过向量化操作和逻辑索引提高代码效率。
方法 适用情况 速度 解析能力
readmatrix 纯数值数据 🚀 快 ❌ 不支持文本
readcell 混合数据(文本+数值+日期) 🐢 慢 ✅ 保留原始数据
readtable 混合数据,返回表格数据 ⚖️ 适中 ✅ 强大

二、代码

% ✅ 设置主目录路径,指向包含CSV文件的文件夹
mainFolder = '\CSV\'; 

% ✅ 获取主目录下的所有CSV文件
csvFiles = dir(fullfile(mainFolder, '*.csv'));

% ✅ 初始化一个空数组,用于存储所有CSV文件的处理结果
allData = [];

% ✅ 遍历所有CSV文件
for i = 1:length(csvFiles)
    % 获取当前CSV文件的完整路径
    csvFilePath = fullfile(mainFolder, csvFiles(i).name);
    
    % ✅ 使用 readtable 读取CSV文件,'PreserveVariableNames' 保留变量名
    T = readtable(csvFilePath, 'PreserveVariableNames', true);
    
    % ✅ 确保数据非空,并且列数足够(至少14列)
    if isempty(T) || size
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值