How do I import .dta from Stata file into MATLAB?

Hey community!
I fail to import a .dta data file which should be used by STATA into Matlab. I would need to work with it on Matlab. When I try to import I sometimes get a table in MATLAB, however it is not filled with the actual numerical data but instead with weird text signs... I can't manage.
I attached the file as well, maybe you can help here?
Thanks, best!

1 Comment

I don't know much about STATA, but can you open this file back in STATA and re-export it as another type that MATLAB can handle, e.g., .xlsx or .csv?

Sign in to comment.

Answers (1)

Hi Miller,
I understand that you want to import .dta file into MATLAB.
To import the .dta file into MATLAB, we need to first convert .dta file to csv format and then import in MATLAB using readtable.
Please refer to the following steps to import .dta file into MATLAB:
1.Convert the .dta file to csv format:
  • Open the file in Stata and export it as csv file
  • If you do not have access to Stata, you can use Python with Pandas library to convert .dta file to csv. Please refer to the following example code snippet for file conversion:
import pandas as pd
data = pd.io.stata.read_stata('my_stata_file.dta')
data.to_csv('my_stata_file.csv')
2.Once the .dta file is converted to CSV, you can import the data into MATLAB using the readtable function.Here is an example:
Data1 = readtable(my_stata_file.csv);
Please refer to following documentation to know more about “readtable function in MATLAB:
I hope you find this helpful.
Best Regards,
Lokesh

1 Comment

No.
You don't have to convert .DTA file into other type. Find your file, right click import and in Import selection, you can find the script you need.

Sign in to comment.

Asked:

on 12 Feb 2022

Commented:

Kai
on 5 Apr 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!