我有一个巨大的文本文件,我导入到mathematica。它看起来像这样:
In[9]:=import=SplitBy[Import["textfile.txt","List"],"\\t"];
Out[9]:={{ A 021 2.3 A 002 2.6},{ A 012 2.3 A 001 2.6},{ A 120 2.6 A 111 2.9},{ A 122 2.8 A 121 2.8},{ A 000 1.3 A 121 2.9},{ A 110 2.4 A 111 2.9},{ G 010 2.3 G 001 2.6},{ G 000 2.2 G 001 2.3 G 010 2.4},{ G 010 2.3 G 001 2.6},{ G 110 2.3 G 101 2.6}}
编辑:请注意,所有元素都由一个\\t
字符分隔。
这是一个字符串列表,使得
In[12]:= Head@import
Head@import[[1]]
Head@import[[All, 1]]
Head@import[[1, 1]]
Out[12]= List
Out[13]= List
Out[14]= List
Out[15]= String
我的大问题是将此列表转换为可管理的元素列表,以便我可以搜索存在 G 的元素,而不是存在 A 的元素。我尝试用 . 但是我仍然无法按照我的意愿处理数据,因为我不允许我搜索单个 G 元素。理想情况下,我最终想要得到的是
{{G,010,2.3},{G,001,2.6},{G,000,2.2},{G,001,2.3},{G,010,2.4},{G,010,2.3},{G,001,2.6},{G,110,2.3},{G,101,2.6}}
我已经知道我将不得不使用该Take
命令,该Partition
命令将子列表拆分为 3 个元素的子列表,依此类推。但是因为我什至无法在列表列表中获取数据,所以我无法做到这一点..
此外,导入时我必须选择"List"
类型。如果我导入"Table"
一切都已经完成了一半,但元素“001”将变为“1”。
你们能帮帮我吗?感谢所有帮助!谢谢