Import data with filters

조회 수: 20 (최근 30일)
julios
julios 2024년 9월 10일
댓글: Eric Sofen 2024년 9월 18일
% How can I import some data in a table (import with filters)
Name | Age
Hugo|30
Paco|40
Luis |50
Gus|60
% I need import in a table only person with age >= 50

답변 (1개)

Avni Agrawal
Avni Agrawal 2024년 9월 10일
I understand that you are trying to import data into a table in MATLAB and apply a filter to only include rows where the age is greater than or equal to 50, you can follow these steps. Assume you have your data in a text file named `data.txt`.
Here's how you can achieve this:
  • Use `readtable` to import the data into a table.
  • Use logical indexing to filter the rows where the age is greater than or equal to 50.
Here's a sample MATLAB script to do this:
% Read the data from the file
data = readtable('data.txt', 'Delimiter', ',');
% Apply the filter for age >= 50
filteredData = data(data.Age >= 50, :);
% Display the filtered table
disp(filteredData);
Name Age ________ ___ {'Luis'} 50 {'Gus' } 60
  • readtable('data.txt', 'Delimiter', ',')`: This function reads the data from a CSV file and creates a table. The `Delimiter` parameter specifies that the data is comma-separated.
  • data(data.Age >= 50, :)`: This line uses logical indexing to filter the rows. `data.Age >= 50` creates a logical array where each element is `true` if the condition is met and `false` otherwise. The `:` selects all columns for the filtered rows.
  • Make sure the data file (`data.txt`) is in the current working directory or provide the full path to the file. Adjust the file name and path as necessary to match your data source.
I hope this helps!
  댓글 수: 5
Walter Roberson
Walter Roberson 2024년 9월 14일
If you have a regular table of data, and it is a large file, and you need different sub-sections of it at different times, then you could consider switching to using a database.
Eric Sofen
Eric Sofen 2024년 9월 18일
If your data are in a Parquet file, you can filter without importing all the data using rowfilter. That said, rowfilter can also be used on a table imported using readtable, but you do end up reading the whole file because with something like a CSV there isn't a good way to preemptively know where the age >=50 values exist.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Text Files에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by