从另一个文件替换字母数字文件上的数字

时间:2019-01-15 23:27:43

标签: matlab replace readfile alphanumeric writefile

我有两个文件。一个带有字母数字字符串,另一个是excel电子表格。部分字母数字文件如下所示:     

 </TileDimension>
 <OnlineStitchingParameter>
 <UseFocusReferenceChannel>true</UseFocusReferenceChannel>
 <ReferenceChannelId>0</ReferenceChannelId>
</OnlineStitchingParameter>
<AllowedScanArea IsActivated="false">
<ContourType>Rectangle</ContourType>
<Center>0,0</Center>
<Size>0,0</Size>
</AllowedScanArea>
<TileRegions />
<SingleTileRegions>
  <SingleTileRegion Name="P1" Id="636827480090555096">
  <X>200</X>
  <Y>200</Y>
  <Z>0</Z>
  <IsUsedForAcquisition>true</IsUsedForAcquisition>
</SingleTileRegion>
<SingleTileRegion Name="P2" Id="636827480091183418">
  <X>610</X>
  <Y>200</Y>
  <Z>0</Z>
  <IsUsedForAcquisition>true</IsUsedForAcquisition>
</SingleTileRegion>
<SingleTileRegion Name="P3" Id="636827480091602299">
  <X>1020</X>
  <Y>200</Y>
  <Z>0</Z>
  <IsUsedForAcquisition>true</IsUsedForAcquisition>
</SingleTileRegion>

完整的文件位于下面的链接中。 访问https://www.dropbox.com/sh/vzi2d5b7i4ugkkh/AADhuE_GCqKMiDL5EbWTHs1da?dl=0

字母数字文件包含792个X,Y,Z位置,我想用excel电子表格中的X,Y,Z位置替换。

到目前为止,我可以读取两个文件并使用MATLAB提取它们的数值。

我需要替换字母数字文件中的值,并将其保存为初始格式。

任何帮助将不胜感激。

谢谢

到目前为止,我已经尝试了以下方法:

d=importdata('PerfectMeander.czsh'); % to read the alphanumeric file
c=d(54:end,:); % to get rid of initial header lines

% to read the current x, y, z positions
for j=0:791
X(1+j,1) = regexp(c(1+6*j,:),'[0-9]+', 'match');
X(1+j,2) = regexp(c(2+6*j,:),'[0-9]+', 'match');
X(1+j,3) = regexp(c(3+6*j,:),'[0-9]+', 'match');
end

% to get rid of single quotation
for i=1:2
pos(:,i) = [X{:,i}];
end

由于z列现在为空,因此无法合并。但是我需要保留该选项,以便在需要时用新值更新z列。

%to read the new positions from the excel spreadsheet
p=importdata('ID List.xlsx');
newpos = p.data;

我需要用更新的x y z值将初始文件中的'pos'替换为'newpos'值。

可能缺少一个非常不同且简单得多的解决方案。

谢谢。

0 个答案:

没有答案