CSV (Comma-Separated Values) files are widely used for storing tabular data. MATLAB provides robust tools for working with CSV files, enabling efficient data import, export, and manipulation.
MATLAB offers several functions to read CSV files. The most commonly used is readtable()
, which imports data as a table object.
% Read a CSV file into a table
data = readtable('example.csv');
% Display the first few rows
head(data)
For more control over the import process, you can use readmatrix()
to read numeric data directly into a matrix:
% Read numeric data from a CSV file
numericData = readmatrix('numeric_data.csv');
To export data to a CSV file, MATLAB provides the writetable()
function for table objects and writematrix()
for numeric arrays.
% Create a sample table
T = table([1;2;3], ['A';'B';'C'], [10.5;20.7;30.2], 'VariableNames', {'ID', 'Category', 'Value'});
% Write the table to a CSV file
writetable(T, 'output.csv');
% Write a numeric matrix to a CSV file
M = [1 2 3; 4 5 6; 7 8 9];
writematrix(M, 'matrix_output.csv');
Once you've imported CSV data, you can manipulate it using MATLAB's powerful array operations and matrix manipulation functions.
Use logical indexing to filter rows based on specific conditions:
% Filter rows where 'Value' is greater than 20
filteredData = data(data.Value > 20, :);
You can easily add or modify columns in a table:
% Add a new column
data.NewColumn = data.Value * 2;
% Modify an existing column
data.Category = upper(data.Category);
head()
, size()
, and class()
to ensure correct import.readtable()
with the 'Format' option to specify column data types for more control over data import.writetable()
to specify a custom delimiter if needed.datastore
to efficiently process data that doesn't fit in memory.For more complex CSV operations, MATLAB offers additional functionality:
CSV files often contain missing values. MATLAB represents these as NaN
for numeric data or empty cells for string data. Use functions like ismissing()
and fillmissing()
to handle missing values effectively.
To combine data from multiple CSV files, you can use matrix manipulation techniques or the join()
function for table objects:
% Read two CSV files
data1 = readtable('file1.csv');
data2 = readtable('file2.csv');
% Merge tables based on a common key
mergedData = join(data1, data2, 'Keys', 'ID');
By mastering these CSV file operations, you'll be well-equipped to handle data import, export, and manipulation tasks in MATLAB, enhancing your data analysis capabilities.