Software tutorial/Loading data in MATLAB or Python
A number of people asked me how to load data into MATLAB and Python after our class on the poor ability of spreadsheets to do serious engineering calculations.
Here are some functions that you can use in either language.
File format | MATLAB | Python |
---|---|---|
Excel files |
xlsread(...) and xlswrite(...) Can read both the text and values in an Excel file. Cell containing formulas are imported as the result of the formula value. |
The best Python libraries at the moment are xlrd and xlwt for reading and writing Excel files. See the xlrd and xlwt website for more details and a tutorial. They are not built-in libraries, so you will have to easy_install them separately. |
Comma-separated value (CSV) files are a standard format for many years and can be read on any system, since they are pure text files. However, being pure text they are an inefficient form for very large data sets. CSV files use a comma (,) as the delimiter (separator), but sometimes people will use spaces, tabs (\t) or other symbols. | csvread(...) and csvwrite(...) only support the comma delimiter.
If you have other delimiters, such as a space or a tab, you must use dlmread(...) and dlmwrite(...) |
Python has built-in support for CSV files and allows you to specify the delimiter (it is a comma by default!)
import csv
filename = 'my_data_file.csv'
delimiter = ' ' # import a file with space delimiters
data = []
for row in csv.reader(open(filename), delimiter=delimiter):
data.append(row)
# Various commands that manipulate the data follow
|
XML files are rapidly becoming a fairly standard import and export format for data, because it describes both the data and the nature of the data in the file. |
xmlread(...) and xmlwrite(...). |
XML Python |