Import Spreadsheets - MATLAB & Simulink (2024)

Import Spreadsheets

Spreadsheets, such as Microsoft® Excel® files, often contain a mix of numeric and text data as well as variable and row names. While the most common way to represent spreadsheet data in MATLAB® is by using a table, you can also represent spreadsheet data in MATLAB as timetables, matrices, or cell arrays.

Import data from spreadsheets either programmatically or interactively. Import programmatically using tailored importing functions, and further control how your data is imported using import options. Import interactively by using the Import Tool.

Import Data as Tables

You can import spreadsheet data as a table. A table consists of column-oriented variables, each containing data of the same type. Variables in a table can hold different data types and sizes, but each variable must have the same number of rows. For more information about tables, see Create Tables and Assign Data to Them.

Import tabular data from a spreadsheet into a table using the readtable function. For example, create a table from the sample file patients.xls. Display the first five rows and columns of the table.

T = readtable("patients.xls");T(1:5,1:5)
ans = 5×5 table LastName Gender Age Location Height ____________ __________ ___ _____________________________ ______ {'Smith' } {'Male' } 38 {'County General Hospital' } 71 {'Johnson' } {'Male' } 43 {'VA Hospital' } 69 {'Williams'} {'Female'} 38 {'St. Mary's Medical Center'} 64 {'Jones' } {'Female'} 40 {'VA Hospital' } 67 {'Brown' } {'Female'} 49 {'County General Hospital' } 64 

Import Data as Timetables

If the rows of your spreadsheet are associated with times, you can import the data as a timetable. Like tables, timetables allow you to store tabular data variables that can have different data types and sizes as long as they have the same number of rows. In addition, a timetable provides time-specific functions to align, combine, and perform calculations with time-stamped data in one or more timetables. For more information about timetables, see Create Timetables.

Import tabular data from a spreadsheet into a timetable using the readtimetable function. For example, create a timetable from the sample file sample.xls. Display the first five rows and columns of the timetable.

TT = readtimetable("sample.xls");TT(1:5,1:5)
ans = 5×5 timetable OutageTime Region Loss Customers RestorationTime Cause ________________ _____________ ______ __________ ________________ ___________________ 2002-02-01 12:18 {'SouthWest'} 458.98 1.8202e+06 2002-02-07 16:50 {'winter storm' } 2003-01-23 00:49 {'SouthEast'} 530.14 2.1204e+05 NaT {'winter storm' } 2003-02-07 21:15 {'SouthEast'} 289.4 1.4294e+05 2003-02-17 08:14 {'winter storm' } 2004-04-06 05:44 {'West' } 434.81 3.4037e+05 2004-04-06 06:10 {'equipment fault'} 2002-03-16 06:18 {'MidWest' } 186.44 2.1275e+05 2002-03-18 23:23 {'severe storm' }

Import Data as Matrices

If your spreadsheet file contains uniform data (all of the same type), you can import the data as a matrix. Importing your data into a matrix allows you to work with a minimally formatted array.

Import uniform data from a spreadsheet file into a matrix using readmatrix. For example, create a matrix from the sample file basic_matrix.xls.

M = readmatrix("basic_matrix.xls")
M = 5×4 6 8 3 1 5 4 7 3 1 6 7 10 4 2 8 2 2 7 5 9

Import Data as Cell Arrays

A cell array is a data type with indexed data containers called cells, where each cell can contain any type of data. Cell arrays commonly contain either lists of text, combinations of text and numbers, or numeric arrays of different sizes.

Import nonuniform data (data of mixed types) from a spreadsheet into a cell array using readcell. For example, create a cell array from the nonuniform data in basic_cell.xls.

C = readcell("basic_cell.xls")
C = 3×3 cell array {[ 1]} {[ 2]} {[ 3]} {'hello' } {'world'} {[ NaN]} {[10-Oct-2018 10:27:56]} {[ 1]} {1x1 missing}

Import Data with Import Options for Additional Control

Importing spreadsheet data sometimes requires additional control over the import process. To customize the import process, you can create an import options object. The object has properties that you can adjust based on your import needs. For example, you can change the data types of variables or import only a subset of variables. For more information about import options, see detectImportOptions.

Import Data Interactively

You can import data interactively into a table or other data type using the Import Tool.

To open the Import Tool, on the Home tab, in the Variable section, click Import Data Import Spreadsheets- MATLAB & Simulink (1). Then, select the file you want to import. Alternatively, right-click the name of the file in the Current Folder browser and select Import Data. Using the Import Tool window, set the import options and then click Import Selection Import Spreadsheets- MATLAB & Simulink (2) to import the data into MATLAB. For more information, see Read Spreadsheet Data Using Import Tool.

For example, create a table from the sample spreadsheet file patients.xls. Open the file in the Import Tool and select options such as the range of data and the output type. Then, click Import Selection Import Spreadsheets- MATLAB & Simulink (3) to import the data as a table in the MATLAB workspace.

Import Spreadsheets- MATLAB & Simulink (4)

See Also

Functions

  • readtable | readtimetable | readmatrix | readcell | detectImportOptions

Tools

  • Import Tool

Related Topics

  • Read Spreadsheet Data Using Import Tool
  • Read Spreadsheet Data into Table
  • Access Data in Tables
Import Spreadsheets
- MATLAB & Simulink (2024)
Top Articles
Latest Posts
Article information

Author: Reed Wilderman

Last Updated:

Views: 6265

Rating: 4.1 / 5 (52 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Reed Wilderman

Birthday: 1992-06-14

Address: 998 Estell Village, Lake Oscarberg, SD 48713-6877

Phone: +21813267449721

Job: Technology Engineer

Hobby: Swimming, Do it yourself, Beekeeping, Lapidary, Cosplaying, Hiking, Graffiti

Introduction: My name is Reed Wilderman, I am a faithful, bright, lucky, adventurous, lively, rich, vast person who loves writing and wants to share my knowledge and understanding with you.