Замена номера буквенно-цифрового файла из другого файла - PullRequest
0 голосов
/ 16 января 2019

У меня есть два файла. Один с буквенно-цифровыми строками, а другой - таблица 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, которые я хочу заменить на позиции X, Y, Z из таблицы Excel.

До сих пор я мог читать оба файла и извлекать из них числовые значения с помощью 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;

Мне нужно заменить 'pos' на значения 'newpos' в исходном файле с обновленными значениями x y z.

Могло бы быть совсем другое и гораздо более простое решение, которое мне не хватает.

Заранее спасибо.

...