Versión 7.00 (32.9 KB) por Andres
fast and versatile ascii data import capable of handling large text files

16.3K descargas

Actualizado 25 Oct 2021

Ver licencia

As txt2mat basically is a wrapper for sscanf, it quickly converts ascii files containing m-by-n numeric data, allowing for header lines. When encountering rows with different numbers of data elements, it will work line-by-line and thus slow down somewhat.
You may let txtmat carry out an automatic data layout analysis on comparatively 'simple' text files (header lines + decimal number data with common delimiters). By this analysis it is able to directly import most numeric .csv-files, for instance.
As txt2mat can perform string and regular expression replacements before the numeric conversion, it can cope with many irregularities within the data. By that it is also capable of detecting and handling commas as decimal characters (common german notation).
You can filter lines by keywords, skip lines by line number, provide appropriate format strings (as for sscanf), or split up the import process for huge files if you encounter memory problems.
You may also use the above to simply read the manipulated text into a character vector or to put each line into a separate cell or string vector element without the numeric conversion.
txt2mat should work on Matlab R2016b and newer versions.
Comments and suggestions welcome.

Citar como

Andres (2023). txt2mat (https://www.mathworks.com/matlabcentral/fileexchange/18430-txt2mat), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2021a
Compatible con cualquier versión desde R2016b
Compatibilidad con las plataformas
Windows macOS Linux
Más información sobre Low-Level File I/O en Help Center y MATLAB Answers.

Community Treasure Hunt

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

Start Hunting!
Versión Publicado Notas de la versión

· general compatibility with strings (string scalar as file name etc.)
· new read mode 'string'

more specific input argument checking for ReadMode (comment from T A) and NumericType

another fix for header line number bug and read mode "line"

fix for header line number bug reported by valere demeter

v06.60 · added option to select lines by line number ('SelectLineFun'), e.g. to skip every n-th line as suggested by Kaare · reduced memory footprint and improved speed during good/bad line filtering by working in chunks

v06.40 · better input argument check by inputparser, allowing input struct · minor changes in code and documentation

v06.17.3 · new read modes 'char' and 'cell' to provide txt2mat's preprocessing without numerical conversion · enable 'good line' filtering during file analysis · better version detection, (hopefully) suitable for MCR (thanks to Len for his remark)

v06.12 · added line filter as requested by Val Schmidt

v06.04 · better handling of replacement strings containing line breaks (initiated by DS) · allow '*' wildcard in file name

v06.01 · fixed bug: possible error message in file analysis when only header line number is given

v06.00 · introduction of read mode 'block' · 'MemPar' buffer value changed to scalar · reduced memory demand · modified help