Está en la página 1de 8

Crear tabla desde archivo de texto

Usando un editor de texto, cargue el archivo myCsvTable.dat y obtenga una vista previa de su contenido. Una
captura de pantalla se muestra a continuación. Observe que el archivo contiene datos orientados en columnas
separados por comas.

Cree una tabla a partir del archivo de texto separado por comas. La tabla T resultante contiene una variable
para cada columna en el archivo y readtable trata las entradas en la primera línea del archivo como nombres
de variables.

Determinado el nombre y ubicacion completa del archivo:

clc
clear all

pwd % Permite obtener la ruta actual del Current Folder

ans =
'C:\Users\Luis Sanchez\Documents\UNI Ciclo 2020-I\Procesamiento de señales y datos\Semana 02'

filename1 = fullfile(pwd,'myCsvTable.dat')

filename1 =
'C:\Users\Luis Sanchez\Documents\UNI Ciclo 2020-I\Procesamiento de señales y datos\Semana 02\myCsvTable.dat'

T1 = readtable(filename1)

T1 = 5×6 table
LastName Gender Age Height Weight Smoker

1 'Smith' 'M' 38 71 176 1


2 'Johnson' 'M' 43 69 163 0
3 'Williams' 'F' 38 64 131 0
4 'Jones' 'F' 40 67 133 0
5 'Brown' 'F' 49 64 119 0

1
Importe las dos primeras columnas como vectores de caracteres, la tercera columna como uint32 y las
siguientes dos columnas como números de punto flotante de doble precisión. Importe las entradas de la última
columna como vectores de caracteres.

T2 = readtable(filename1,'Format','%s%s%u%f%f%s')

T2 = 5×6 table
LastName Gender Age Height Weight Smoker

1 'Smith' 'M' 38 71 176 '1'


2 'Johnson' 'M' 43 69 163 '0'
3 'Williams' 'F' 38 64 131 '0'
4 'Jones' 'F' 40 67 133 '0'
5 'Brown' 'F' 49 64 119 '0'

Crear tabla desde archivo de texto


sin encabezados de columna
Cargue el archivo mySpaceDelimTable.txt y obtenga una vista previa de su contenido en un editor de texto.
Una captura de pantalla se muestra a continuación. Observe que el archivo contiene datos delimitados por
espacios, orientados en columnas.

filename3 = fullfile(pwd,'mySpaceDelimTable.txt');
T3 = readtable(filename3,'Delimiter',' ','ReadVariableNames',false)

T3 = 3×5 table
Var1 Var2 Var3 Var4 Var5

1 'M' 45 45 'NY' 'true'


2 'F' 41 32 'CA' 'false'
3 'M' 40 34 'MA' 'false'

Crear tabla desde hoja de cálculo incluyendo nombres de fila


2
Cree una tabla a partir de una hoja de cálculo que contenga los nombres de variables en la primera fila y
nombres de fila en la primera columna.

filename4 = fullfile(pwd,'patients.xls');
T4 = readtable(filename4,'ReadRowNames',true)

T4 = 100×9 table

Gender Age Location Height Weight Smoker Systolic

1 Smith 'Male' 38 'County Ge... 71 176 1 124


2 Johnson 'Male' 43 'VA Hospital' 69 163 0 109
3 Williams 'Female' 38 'St. Mary'... 64 131 0 125
4 Jones 'Female' 40 'VA Hospital' 67 133 0 117
5 Brown 'Female' 49 'County Ge... 64 119 0 122
6 Davis 'Female' 46 'St. Mary'... 68 142 0 121
7 Miller 'Female' 33 'VA Hospital' 64 142 1 130
8 Wilson 'Male' 40 'VA Hospital' 68 180 0 115
9 Moore 'Male' 28 'St. Mary'... 68 183 0 115
10 Taylor 'Female' 31 'County Ge... 66 132 0 118
11 Anderson 'Female' 45 'County Ge... 68 128 0 114
12 Thomas 'Female' 42 'St. Mary'... 66 137 0 115
13 Jackson 'Male' 25 'VA Hospital' 71 174 0 127
14 White 'Male' 39 'VA Hospital' 72 202 1 130
15 Harris 'Female' 36 'St. Mary'... 65 129 0 114
16 Martin 'Male' 48 'VA Hospital' 71 181 1 130
17 Thompson 'Male' 32 'St. Mary'... 69 191 1 124
18 Garcia 'Female' 27 'VA Hospital' 69 131 1 123
19 Martinez 'Male' 37 'County Ge... 70 179 0 119
20 Robinson 'Male' 50 'County Ge... 68 172 0 125
21 Clark 'Female' 48 'VA Hospital' 65 133 0 121
22 Rodriguez 'Female' 39 'VA Hospital' 64 117 0 123
23 Lewis 'Female' 41 'VA Hospital' 62 137 0 114
24 Lee 'Female' 44 'County Ge... 66 146 1 128
25 Walker 'Female' 28 'County Ge... 65 123 1 129
26 Hall 'Male' 25 'VA Hospital' 70 189 0 114
27 Allen 'Female' 39 'VA Hospital' 63 143 0 113
28 Young 'Female' 25 'County Ge... 63 114 0 125

3
Gender Age Location Height Weight Smoker Systolic

29 Hernandez 'Male' 36 'County Ge... 68 166 0 120


30 King 'Male' 30 'County Ge... 67 186 1 127
31 Wright 'Female' 45 'VA Hospital' 70 126 1 134
32 Lopez 'Female' 40 'VA Hospital' 66 137 0 121
33 Hill 'Female' 25 'St. Mary'... 64 138 0 115
34 Scott 'Male' 47 'St. Mary'... 70 187 0 127
35 Green 'Male' 44 'County Ge... 71 193 0 121
36 Adams 'Female' 48 'VA Hospital' 66 137 0 127
37 Baker 'Male' 44 'VA Hospital' 71 192 1 136
38 Gonzalez 'Female' 35 'St. Mary'... 66 118 0 117
39 Nelson 'Male' 33 'St. Mary'... 66 180 1 124
40 Carter 'Female' 38 'St. Mary'... 63 128 0 120
41 Mitchell 'Male' 39 'County Ge... 71 164 1 128
42 Perez 'Male' 44 'VA Hospital' 69 183 0 116
43 Roberts 'Male' 44 'VA Hospital' 70 169 1 132
44 Turner 'Male' 37 'VA Hospital' 70 194 1 137
45 Phillips 'Male' 45 'VA Hospital' 67 172 0 117
46 Campbell 'Female' 37 'County Ge... 65 135 0 116
47 Parker 'Male' 30 'VA Hospital' 68 182 0 119
48 Evans 'Female' 39 'County Ge... 62 121 0 123
49 Edwards 'Male' 42 'County Ge... 70 158 0 116
50 Collins 'Male' 42 'County Ge... 67 179 1 124
51 Stewart 'Male' 49 'County Ge... 68 170 1 129
52 Sanchez 'Female' 44 'St. Mary'... 62 136 1 130
53 Morris 'Female' 43 'County Ge... 64 135 1 132
54 Rogers 'Female' 47 'VA Hospital' 66 147 0 117
55 Reed 'Male' 50 'VA Hospital' 72 186 1 129
56 Cook 'Female' 38 'VA Hospital' 63 124 0 118
57 Morgan 'Female' 41 'St. Mary'... 66 134 0 120
58 Bell 'Male' 45 'St. Mary'... 70 170 1 138
59 Murphy 'Male' 36 'VA Hospital' 71 180 0 117
60 Bailey 'Female' 38 'St. Mary'... 68 130 0 113
61 Rivera 'Female' 29 'County Ge... 63 130 0 122
62 Cooper 'Female' 28 'VA Hospital' 65 127 0 115

4
Gender Age Location Height Weight Smoker Systolic

63 Richardson 'Female' 30 'County Ge... 67 141 0 120


64 Cox 'Female' 28 'County Ge... 66 111 0 117
65 Howard 'Female' 29 'VA Hospital' 68 134 0 123
66 Ward 'Male' 36 'St. Mary'... 71 189 0 123
67 Torres 'Female' 45 'County Ge... 70 137 0 119
68 Peterson 'Female' 32 'County Ge... 60 136 0 110
69 Gray 'Female' 31 'VA Hospital' 64 130 0 121
70 Ramirez 'Female' 48 'County Ge... 64 137 1 138
71 James 'Male' 25 'County Ge... 66 186 0 125
72 Watson 'Female' 40 'VA Hospital' 64 127 1 122
73 Brooks 'Male' 39 'St. Mary'... 72 176 0 120
74 Kelly 'Female' 41 'St. Mary'... 65 127 0 117
75 Sanders 'Female' 33 'St. Mary'... 67 115 1 125
76 Price 'Male' 31 'VA Hospital' 72 178 1 124
77 Bennett 'Female' 35 'County Ge... 64 131 0 121
78 Wood 'Male' 32 'St. Mary'... 68 183 0 118
79 Barnes 'Male' 42 'County Ge... 66 194 0 120
80 Ross 'Female' 48 'VA Hospital' 64 126 0 118
81 Henderson 'Male' 34 'St. Mary'... 68 186 0 118
82 Coleman 'Male' 39 'VA Hospital' 69 188 0 122
83 Jenkins 'Male' 28 'County Ge... 69 189 1 134
84 Perry 'Female' 29 'St. Mary'... 64 120 0 131
85 Powell 'Female' 32 'VA Hospital' 63 132 0 113
86 Long 'Male' 39 'County Ge... 68 182 1 125
87 Patterson 'Female' 37 'County Ge... 65 120 1 135
88 Hughes 'Female' 49 'County Ge... 63 123 1 128
89 Flores 'Female' 31 'VA Hospital' 66 141 1 123
90 Washington 'Female' 37 'St. Mary'... 65 129 0 122
91 Butler 'Male' 38 'County Ge... 68 184 1 138
92 Simmons 'Male' 45 'VA Hospital' 71 181 0 124
93 Foster 'Female' 30 'St. Mary'... 70 124 0 130
94 Gonzales 'Male' 48 'County Ge... 71 174 0 123
95 Bryant 'Female' 48 'County Ge... 66 134 0 129
96 Alexander 'Male' 25 'County Ge... 69 171 1 128

5
Gender Age Location Height Weight Smoker Systolic

97 Russell 'Male' 44 'VA Hospital' 69 188 1 124


98 Griffin 'Male' 49 'County Ge... 70 186 0 119
99 Diaz 'Male' 45 'County Ge... 68 172 1 136
100 Hayes 'Male' 48 'County Ge... 66 177 0 114

Muestra las primeras cinco filas y las primeras cuatro variables de la tabla.

T4(1:5,1:4)

ans = 5×4 table


Gender Age Location Height

1 Smith 'Male' 38 'County Ge... 71


2 Johnson 'Male' 43 'VA Hospital' 69
3 Williams 'Female' 38 'St. Mary'... 64
4 Jones 'Female' 40 'VA Hospital' 67
5 Brown 'Female' 49 'County Ge... 64

Ver la propiedad DimensionNames de la tabla.

T4.Properties.DimensionNames

ans = 1×2 cell array


{'LastName'} {'Variables'}

Importe nuevamente la data anterior, pero en este caso solo la región rectangular de datos de dimensiones de
5x3 entre las esquinas C2 y E6. No use la primera fila de esta región como nombres de variables.

T5 = readtable('patients.xls','Range','C2:E6','ReadVariableNames',false)

T5 = 5×3 table
Var1 Var2 Var3

1 38 'County G... 71
2 43 'VA Hospital' 69
3 38 'St. Mary... 64
4 40 'VA Hospital' 67
5 49 'County G... 64

Detectar y usar opciones de importación


Cree opciones de importación, adapte los tipos de datos para múltiples variables y luego lea los datos. Cree un
objeto de opciones de importación desde un archivo de texto.

filename5 = fullfile(pwd,'airlinesmall.csv');

6
opts1 = detectImportOptions('airlinesmall.csv')

opts1 =
DelimitedTextImportOptions with properties:

Format Properties:
Delimiter: {','}
Whitespace: '\b\t '
LineEnding: {'\n' '\r' '\r\n'}
CommentStyle: {}
ConsecutiveDelimitersRule: 'split'
LeadingDelimitersRule: 'keep'
EmptyLineRule: 'skip'
Encoding: 'windows-1252'

Replacement Properties:
MissingRule: 'fill'
ImportErrorRule: 'fill'
ExtraColumnsRule: 'addvars'

Variable Import Properties: Set types by name using setvartype


VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
VariableTypes: {'double', 'double', 'double' ... and 26 more}
SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
VariableOptions: Show all 29 VariableOptions
Access VariableOptions sub-properties using setvaropts/getvaropts

Location Properties:
DataLines: [2 Inf]
VariableNamesLine: 1
RowNamesColumn: 0
VariableUnitsLine: 0
VariableDescriptionsLine: 0
To display a preview of the table, use preview

Examine el Tipo de property de las variables TaxiIn y TaxiOut.

getvaropts(opts1,{'TaxiIn','TaxiOut'})

ans =
1x2 VariableImportOptions array with properties:

Variable Options:
(1) | (2)
Name: 'TaxiIn' | 'TaxiOut'
Type: 'char' | 'char'
FillValue: '' | ''
TreatAsMissing: {} | {}
EmptyFieldRule: 'missing' | 'missing'
QuoteRule: 'remove' | 'remove'
Prefixes: {} | {}
Suffixes: {} | {}

To access sub-properties of each variable, use getvaropts

Cambie el tipo de variable de TaxiIn y TaxiOut a double.

opts = setvartype(opts1,{'TaxiIn','TaxiOut'},'double');

Especifique el subconjunto de variables para importar y examinar.

7
opts.SelectedVariableNames = {'TaxiIn','TaxiOut'};

Importando la data.

T6 = readtable('airlinesmall.csv',opts);
summary(T6)

Variables:

TaxiIn: 123523×1 double

Values:

Min 0
Median 5
Max 1451
NumMissing 37383

TaxiOut: 123523×1 double

Values:

Min 0
Median 13
Max 755
NumMissing 37364

También podría gustarte