Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.
Leer datos formateados de un archivo de texto o cadena
lee los datos de un archivo de texto abierto en un array de celdas, C
= textscan(fileID
,formatSpec
)C
. El archivo de texto se indica mediante el identificador de archivo, fileID
. Utilice fopen
para abrir el archivo y obtener el valor de fileID
. Cuando termine de leer en un archivo, cierre el archivo llamando a fclose(fileID)
.
textscan
intenta hacer coincidir los datos del archivo con el especificador de conversión de formatSpec
. La función textscan
vuelve a aplicar formatSpec
en todo el archivo y se detiene cuando no puede hacer coincidir formatSpec
con los datos.
lee los datos del archivo usando C
= textscan(fileID
,formatSpec
,N
)formatSpec
N
veces, donde N
es un entero positivo. Para leer datos adicionales del archivo después de N
ciclos, llame de nuevo a textscan
utilizando el fileID
original. Si reanuda una exploración de texto de un archivo llamando a textscan
con el mismo identificador de archivo (fileID
), textscan
reanuda automáticamente la lectura en el punto donde terminó la última lectura.
lee el texto del vector de caracteres C
= textscan(chr
,formatSpec
)chr
en el array de celdas C
. Al leer texto de un vector de caracteres, las llamadas repetidas a textscan
reinician el análisis desde el principio cada vez. Para reiniciar un análisis desde la última posición, solicite una salida position
.
textscan
intenta hacer coincidir los datos del vector de caracteres chr
con el formato especificado en formatSpec
.
utiliza C
= textscan(chr
,formatSpec
,N
)formatSpec
N
veces, donde N
es un entero positivo.
especifica las opciones utilizando uno o más argumentos de par C
= textscan(___,Name,Value
)Name,Value
, además de cualquiera de los argumentos de entrada de las sintaxis anteriores.
[
devuelve la posición en el archivo o el vector de caracteres al final de la exploración como el segundo argumento de salida. Para un archivo, se trata del valor que C
,position
]
= textscan(___)ftell(fileID)
devuelve después de llamar a textscan
. Para un vector de caracteres, position
indica cuántos caracteres lee textscan
.
textscan
convierte los campos numéricos en el tipo de salida especificado de acuerdo con las reglas de MATLAB con respecto al desbordamiento, el truncamiento y el uso de NaN
, Inf
y -Inf
. Por ejemplo, MATLAB representa un entero NaN
como cero. Si textscan
encuentra un campo vacío asociado a un especificador de formato de tipo entero (como %d
o %u
), devuelve el valor vacío como cero y no NaN
.
Al realizar la coincidencia de datos con un especificador de conversión de texto, textscan
lee hasta que encuentra un delimitador o un carácter de fin de línea. Al realizar la coincidencia de datos con un especificador de conversión numérico, textscan
lee hasta que encuentra un carácter no numérico. Cuando textscan
ya no puede hacer coincidir los datos con un especificador de conversión concreto, intenta hacer coincidir los datos con el especificador de conversión siguiente en formatSpec
. El signo (+
o -
), los caracteres de exponente y los puntos decimales se consideran caracteres numéricos.
Signo | Dígitos | Punto decimal | Dígitos | Carácter de exponente | Signo | Dígitos |
---|---|---|---|---|---|---|
Leer un carácter de signo si existe. | Leer uno o más dígitos. | Leer un punto decimal si existe. | Si hay un punto decimal, leer uno o más dígitos que inmediatamente lo siguen. | Leer un carácter de exponente si existe. | Si hay un carácter de exponente, leer un carácter de signo. | Si hay un carácter de exponente, leer uno o más dígitos que lo siguen. |
textscan
importa cualquier número complejo en su conjunto a un campo numérico complejo, convirtiendo las partes reales e imaginarias al tipo numérico especificado (como %d
o %f
). Las formas válidas para un número complejo son:
±<real> ±<imag>i|j | Ejemplo: |
±<imag>i|j | Ejemplo: |
No incluya un espacio en blanco incrustado en un número complejo. textscan
interpreta el espacio en blanco incrustado como delimitador de campo.