【发布时间】:2015-01-06 19:33:41
【问题描述】:
我之前写过一些代码将 3 列拆分为 4 列,但是代码效率非常低且耗时。因为我正在处理数百万行,所以它不合适。 (下面是我之前的代码)
tline = fgetl(fid);
ID=tline(1:4);
IDN = str2double(ID);
Day=tline(6:8);
DayN = str2double(Day);
HalfHour=tline(9:10);
HalfHourN = str2double(HalfHour);
Usage=tline(12:end);
UsageN = str2double(Usage);
一定有更有效、更快捷的方法吗?
回到基础,我生成了一个 x x 3 矩阵。但需要一个 x x 4 矩阵
为了显示我正在尝试做的事情,检查一行 - 我正在努力改变
1001 36501 1005
到
1001 365 01 1005
任何帮助将不胜感激!
编辑:
我试图分成两列的第二列总是由 5 个字符组成。我试图将前 3 个字符放入他们自己的列中,其余字符也是如此。
【问题讨论】:
-
您正在编辑 csv/txt 文件吗?如果是这样,请使用Notepad++。将光标放在“1001 365”之后的第一行,然后选择编辑->列编辑器->文本插入以插入一个空白列。
-
一般来说,将数字更改为字符串会大大降低速度。
-
Thomas 不错的建议,但由于某种原因,列停止在第 100 万行左右分散。