我想用一些 Python 库来代替 MATLAB。如何在 Python 中导入 Excel 数据(例如使用NumPy)来使用它们?
我不知道 Python 是否是 MATLAB 的可靠替代品,但我想尝试一下。有教程吗
根据您使用MATLAB进行的计算类型(以及您使用的工具箱),Python 可能是 MATLAB 的一个很好的替代品。
Python + NumPy + SciPy + Matplotlib是开始的正确组合。
对于数据,例如,您可以将数据直接保存在文本文件中(假设您不直接关心浮点精度问题)并在Python中读取。
如果您的数据是Excel数据,其中每个值由“;”分隔,您可以例如逐行读取文件,并使用 split() 方法(以“;”作为参数)获取每个值。
对于 7.1 及以下版本的 MATLAB,可以使用scipy.io.matlab.mio模块直接从 Python 加载 .mat 文件。
Pandas is a Python data analysis library that can import/export from Excel pretty easily. Here's how to do it:
http://pandas.pydata.org/pandas-docs/stable/10min.html#excel
Crash course:
import pandas as pd
data = pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])
如果您以MATLAB格式保存数据,请使用:
from scipy.io import loadmat
datafile = "yourfile.mat"
data = loadmat(datafile, matlab_compatible=True)
var1 = data['nameOfYourVariable'].squeeze()
var2 = data['nameOfYourOtherVariable'].squeeze()
“我不知道 Python 是否是 MATLAB 的可靠替代品”
对我来说(实验物理学)Python 不仅是MATLAB的完全替代品(当包括上面提到的SciPy和Matplotlib时),但它对除数据处理和可视化之外的许多事情(如一般编程需求)很有用。
“我要试试 SAGE。”
值得注意的是,有几台运行Sage的服务器提供笔记本环境(在http://www.sagemath.org/在线查看 Try Sage)。考虑到您只需要一个 Internet 浏览器和访问权限(无需安装),这非常简洁。
至于 Kevin Buchs 解释的问题(在另一个答案中),可以通过多种方法将专有的 Excel 读取到 Python,其中一些是平台(OS)相关的:
我希望这有帮助。如果没有,我可以尝试自己安排一些示例代码(尽管我拥有的那些已经超过六岁了......)。正如其他答案中所建议的那样,我个人更喜欢使用 CSV 或 ASCII 格式。