MATLAB代码:将大型矩阵数据分块输出为CSV文件
MATLAB代码:将大型矩阵数据分块输出为CSV文件
本教程提供一段MATLAB代码,可以将一个152行50000列的双精度数据按顺序分块输出为CSV文件,每个文件包含10000列数据,共计输出760个文件。
以下是完整的MATLAB代码:matlabdata = rand(152, 50000); % 将此替换为您的实际数据
numRows = size(data, 1);numCols = size(data, 2);chunkSize = 10000; % 设置每个CSV文件包含的列数
outputDir = 'output/'; % 设置输出目录,可根据需要修改if ~exist(outputDir, 'dir') mkdir(outputDir);end
fileCount = 1;for i = 1:chunkSize:numCols chunkEnd = min(i+chunkSize-1, numCols); chunkData = data(:, i:chunkEnd); csvFileName = fullfile(outputDir, [num2str(fileCount) '.csv']); writematrix(chunkData, csvFileName); fileCount = fileCount + 1;end
代码解释:
-
设置数据和参数: -
data = rand(152, 50000);: 用随机数据初始化一个152行50000列的矩阵,请将此替换为您的实际数据。 -chunkSize = 10000;: 设置每个输出CSV文件包含的数据列数为10000。 -outputDir = 'output/';: 设置输出目录为'output/',如果目录不存在则创建。 -
循环分割数据并输出: - 使用
for循环遍历整个数据矩阵,每次处理chunkSize列数据。 -chunkEnd = min(i+chunkSize-1, numCols);: 计算当前数据块的结束列索引。 -chunkData = data(:, i:chunkEnd);: 提取当前数据块。 -csvFileName = fullfile(outputDir, [num2str(fileCount) '.csv']);: 构建输出文件名,例如'1.csv', '2.csv'等。 -writematrix(chunkData, csvFileName);: 使用writematrix函数将当前数据块写入CSV文件。
运行结果:
运行这段代码后,将在您指定的输出目录下生成760个CSV文件,命名从'1.csv'到'760.csv',每个文件包含10000列数据。
注意:
- 请将代码中的示例数据替换为您自己的数据。- 可以根据需要修改
chunkSize和outputDir参数来自定义输出。
原文地址: https://www.cveoy.top/t/topic/ogF 著作权归作者所有。请勿转载和采集!