将值分配给从Excel导入的variables

我需要将一个excel文件导入math公式中,其中有2000个化合物,每个化合物都有6个数值常量。 最终目标是将复合名称input到math公式中,并输出6个数字常量。 到目前为止,我的代码是:

t =导入[“Titles.txt。”,{“Text”,“Lines”}]( 导入化合物名称 )n = Import [“NA.txt。”,“List”]( 导入每个化合物的6个值

n [[2]]( 输出第二个化合物的6个值

而不是n [[#]],我想知道如何从input的化合物名称中input化合物,并输出6个值。

我不确定是否理解你的问题 – 例如,你有两个文本文件,而不是一个Excel文件,而且数据看起来不清楚。 但是可能有很多方法可以做到这一点。 这里有一个build议(这可能不是最好的方法):

我们假设你已经把所有的数据存入一个表(列表清单):

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} } 

要查找与特定string相关的信息:

 Cases[pt, {"Helium", rest__} -> rest] 

{“He”,2,40026,-272,-269,0,0,1895,18,24.5874}

模式rest__保存着“氦”之后的所有东西。

寻找第二个项目:

  Cases[pt, {_, "Li", rest__} -> rest] 

{2,40026,-272,-269,0,0,1895,18,24.5874}

如果向模式添加更多信息,则可以更灵活地select表格中的元素:

 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}] 

互动