% Read the content of both Excel files...
F1 = readtable('File1.xlsx');
F2 = readtable('File2.xlsx');
% Join the table F1 with F2 on v1 = Index...
T1 = join(F1,F2,'LeftKeys',{'v1'},'RightKeys',{'Index'});
% Join the table F1 with F2 on v2 = Index...
T2 = join(F1,F2,'LeftKeys',{'v2'},'RightKeys',{'Index'});
% Create the final table combining T1.Name (as v1), T2 (as v2) and F1.commID (as commID)...
T = table(T1.Name,T2.Name,F1.commID,'VariableNames',{'v1' 'v2' 'commID'});
% Save the result into a new file...
writetable(T,'File3.xlsx');
假设第一个文件(File1.xlsx)的内容是:
^{pr2}$
第二个文件(File2.xlsx)的内容是:
Index Name
_____ _____
1 'AAA'
2 'BBB'
3 'CCC'
4 'DDD'
5 'EEE'
很明显,根据需要更改文件和资料的名称,但这对我很有效!这使用了openpyxl,我相信它包含在python的Anaconda发行版中。而且,这可能不是最好的方法,但它是有效的。在
我向您推荐两种解决方案:一种用于Excel,另一种用于Matlab。选择一个你喜欢的(如果你不需要用Matlab处理数据,我建议你选择第一个解决方案,并坚持使用Excel)。在
EXCEL
坚持用Excel来解决这个问题,我会采用手工方式。在本例中,您必须使用的唯一函数是VLOOKUP。让我们看看如何逐步进行:
v1
、v2
和commID
列的文件)并将其内容复制粘贴到新文件的第一页中。Index
和Name
的文件)并将其内容复制粘贴到新文件的第二页中。D
行1
中插入字符串v1
(用于复制头)。在第D
行2
中插入以下公式:=VLOOKUP(A2;B!A:B;2;FALSE)
并将其复制到底部。E
行1
中插入字符串v2
(用于复制头)。在第E
行2
中插入以下公式:=VLOOKUP(B2;B!A:B;2;FALSE)
并将其复制到底部。D
和E
列(重新映射的v1
和{CTRL+C
)。现在,选择整个A
和B
列(旧的v1
和v2
)并将先前复制的内容粘贴到位(使用上下文菜单中的Paste Values
特殊功能)。MATLAB
因为您的问题非常接近
SQL
连接操作,所以我会选择表(通过使用readtable函数解析Excel文件获得)和内置的join函数:假设第一个文件(
^{pr2}$File1.xlsx
)的内容是:第二个文件(
File2.xlsx
)的内容是:那么最终的输出将是:
相关问题 更多 >
编程相关推荐