Python中的MATLAB结构数组如何实现?
我刚开始学习Python。我想把SQL查询的结果放到一个类似于MATLAB中结构数组的矩阵变量里。简单来说,就是一个可以存放数字和字符串的矩阵。
这个变量可以保存查询的行和列。
我该怎么做呢?
谢谢。
3 个回答
2
我相信你已经发现了 MySQLdb 这个工具,它可以帮助你把数据库里的数据拿到 Python 里。默认情况下,它会返回一个包含多个元组的数组,你可以对这个数组进行遍历。如果你想要一种可以通过键来访问的数据结构(就像 Matlab 的结构体那样),那么你需要在 Python 中使用字典。
像这样的查询
"Select field1,field2 FROM SomeTable"
会给你返回以下内容
[(field1,field2),(field1,field2),(field1,field2)]
如果你不想要元组列表,你可以使用 MySQLdb 的其他类型的游标(可以查看文档了解更多)或者遍历这个元组列表,把它转换成其他格式。
3
如果你只想要像MATLAB那样的矩阵和向量,最好的选择是NumPy(如果你想要更多类似MATLAB的功能,可以看看SciPy)。
另外,如果你想制作漂亮的图表,我推荐Matplotlib。
1
如果@Matti的回答不是你想要的,也许用一个字典的列表会更合适?
select field1, field2, field3 from SomeTable
然后这会被转换成类似这样的东西:
[{'field1' : 1, 'field2' : 'asdf', 'field3' : 3.234},
{'field1' : 0, 'field2' : 'Some string here', 'field3', 0.93284},]