如何从文本中向mathematica7.0导入数据呢?
假设在data.txt文本中存放着两列数据:1 1
2 4
3 9
4 16
5 25
6 36
我使用了一下命令:
Clear["Global`*"]
a=Import["data.txt"]
但是导入的却不是矩阵,
请问高手,这个是怎么回事呢?
如果不是矩阵的话,就没办法运算,
如果没办法运算的话,我就是白白地导入了.
请高手指点 1# dolly
怎么不是矩阵呢?我的测试结果是
{{1, 1}, {2, 4}, {3, 9}, {4, 16}, {5, 25}, {6, 36}} 我的mathematica版本是7.0,是不是因为你的版本比我的高级呀?8.0吗 3# dolly
是8.0,不过不应该,8.0并没有对Import做改变
New in 4|Last modified in 7
你的输出结果是什么?
你的文件格式是文本么? 大宝怎么直接输入就是矩阵了???
我是这样才是矩阵啊
Import["a.txt", "Data"] str2mat[1 1
2 4
3 9
4 16
5 25
6 36, 2]
{{1, 1}, {2, 4}, {3, 9}, {4, 16}, {5, 25}, {6, 36}}
之前写的那个函数,呵呵,整理一下再发到博客或这里。 5# HyperGroups
五楼正解!我喜欢这个回答,当使用了这个命令后,我的也变成矩阵了,高手真多! 5# HyperGroups
I get it!
不要给你的文件加后缀名。
我是linux系统,习惯不给文件加后缀名,所以我把数据保存到 文件 a 中,然后调用 Import["a"] 就行了。
我把文件名改成 a.txt, 果然出现你说的那种问题了。
现在分析一下,其实原因很简单,你使用 a.txt 做文件名,那么mathematica把你的文件当作 纯文本 来处理,所以Import 进来是 字符串。
看来,自动处理是个双刃剑啊!mathematica自动识别一个文件的格式也不总是好的。 8# guocong89
恩,对,我刚忘记你的系统了。不过在win里似乎是要加的。 9# HyperGroups
和操作系统无关,windows下你不给文件加后缀名也没有什么问题,只是这个文件不能被记事本自动关联了而已。
后缀名是windows(或者是dos)很糟糕的设计,让很多危险文件通过后缀名隐藏自己的真实身份。 10# guocong89
对,是我自己搞错了,是可以的,刚重新试了一下。很奇怪之前为什么没试成功,稀里糊涂了,
页:
[1]