我以前编写过一些代码来将3列分成4列,但代码效率很低且耗时。由于我正在处理数百万行,因此不合适。 (下面是我以前的代码)Matlab - 将列分成两部分(高效)
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乘以3的矩阵。但4矩阵需要一个X
为了证明什么,我试图做的,考察一个行 - 我试图改变
1001 36501 1005
到
1001 365 01 1005
任何帮助将是非常不胜感激!
编辑:
我想分成两个第二列,总是由5个字符。我试图将前3个字符放到自己的列中,对于其余字符也是如此。
你编辑CSV/TXT文件?如果是这样,请使用[Notepad ++](http://notepad-plus-plus.org/)。将光标放在“1001 365”后面的第一行,然后选择“编辑” - >“列编辑器” - >“文本插入”以插入空白列。 – Thomas
一般而言,将数字转换为字符串会使事情减慢很多。 –
托马斯提出了很好的建议,但由于某种原因,这些列不再在第100行左右进行分布。 – HarryL0