【发布时间】:2012-07-25 10:23:36
【问题描述】:
我有一个巨大的文本文件,要导入到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”。
你们能帮帮我吗?感谢所有帮助! 谢谢
【问题讨论】:
-
如何拥抱?虽然您很难将其放入记忆中?
-
它有好几千行。问题是除了里面有很多文本之外,我还必须处理数百个这样的文件
标签: string list import wolfram-mathematica