txt2mat

版本 7.00 (32.9 KB) 作者: Andres
fast and versatile ascii data import capable of handling large text files
16.5K 次下载
更新时间 2021/10/25

查看许可证

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.
Andres

引用格式

Andres (2024). txt2mat (https://www.mathworks.com/matlabcentral/fileexchange/18430-txt2mat), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R2021a
与 R2016b 及更高版本兼容
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Low-Level File I/O 的更多信息

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
7.00

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

6.60.3.0

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

6.60.2.0

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

6.60.1.0

fix for header line number bug reported by valere demeter

1.6.0.0

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

1.5.0.0

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

1.4.0.0

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)

1.3.0.0

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

1.2.0.0

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

1.1.0.0

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

1.0.0.0

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