我不确定我是否理解您的问题 - 例如,您有两个文本文件,而不是一个 Excel 文件,并且不清楚数据是什么样的。但可能有很多方法可以做到这一点。这是一个建议(这可能不是最好的方法):
假设您已将所有数据放入一个表(列表列表)中:
pt = {
{"Hydrogen", "H", 1, 1.0079, -259, -253, 0.09, 0.14, 1776, 1, 13.5984},
{"Helium", "He", 2, 4.0026, -272, -269, 0, 0, 1895, 18, 24.5874},
{"Lithium" , "Li", 3, 6.941, 180, 1347, 0.53, 0, 1817, 1, 5.3917}
}
要查找与特定字符串关联的信息:
Cases[pt, {"Helium", rest__} -> rest]
{“他”, 2, 4.0026, -272, -269, 0, 0, 1895, 18, 24.5874}
该模式rest__
包含在“氦”之后发现的所有内容。
要查找第二项:
Cases[pt, {_, "Li", rest__} -> rest]
{2, 4.0026, -272, -269, 0, 0, 1895, 18, 24.5874}
如果您向模式添加更多信息,您可以更灵活地从表中选择元素:
Cases[pt, {name_, symbol_, aNumber_, aWeight_, mp_, bp_, density_,
crust_, discovered_, rest__}
/; discovered > 1850 -> {name, symbol, discovered}]
{{“氦”,“他”,1895}}
对于交互的东西,你可以敲一个Manipulate
:
elements = pt[[All, 1]];
headings = {"symbol", "aNumber", "aWeight", "mp", "bp", "density", "crust", "discovered", "group", "ion"};
Manipulate[
Column[{
elements[[x]],
TableForm[{
headings, Cases[pt, {elements[[x]], rest__} -> rest]}]}],
{x, 1, Length[elements], 1}]