我最近跳出了矩阵实验室窗口,我试图让Python/Numpy/Scipy去做MatLab中我曾经做过的事情。到目前为止似乎非常好,但我正在努力的一件事是找到类似于MatLab中数据结构的东西。Python模拟MatLab数据结构
我想写一个通用代码,用于读取.xml文件,并根据它们是字符串,标量还是矩阵自动将变量分配到数据结构中。一个典型的XML文件将被分拆这样的:
<material>
<id>
1
<\id>
<E>
17e4
<\E>
<var 2>
'C:\data file path'
<\var 2>
<var 3>
[1 2;3 4]
<\var 3>
<\material>
<material>
<id>
2
<\id>
<var 1>
17e4
<\var 1>
<var 2>
'C:\data file path'
<\var 2>
<var 3>
[1 2;3 4]
<\var 3>
<\material>
...
etc
在Matlab中我就已经创建了一个数据结构是这样的:
Materials.1.E=17e4
Materials.1.var2='C:\data file path'
Materials.1.var3=[1 2;3 4]
Materials.2.E=17e4
Materials.2.var2='C:\data file path'
Materials.2.var3=[1 2;3 4]
如果在Python列表可以是2D(所以我可以拥有一行中每种材料的所有变量),或者字典可能具有多个图层或可能包含他们将是完美的列表,但我现在找不到我想要的东西!
任何帮助将不胜感激!
你为什么不能在Python字典的名单? – Shai
看看[这篇文章](http://stackoverflow.com/questions/1912434/how-do-i-parse-xml-in-python)关于使用Python解析XML可能是有用的。此外,如果您正在使用Python数据分析堆栈,那么我高度推荐使用[iPython](http://ipython.org/)和[pandas](http:// pandas .pydata.org /)。您可以将它们作为Continuum Analytics [Anaconda](http://store.continuum.io)Python分发的一部分。 – jeremiahbuddha