从text-Python以类似矩阵的形式导入数据

从text-Python以类似矩阵的形式导入数据,python,input,matplotlib,Python,Input,Matplotlib,我有一个文本文件“data.txt”,它是我的输入文件,看起来像这样: X Y value 5.000000e-03 5.000000e-03 0.000000e+00 5.000000e-03 2.537500e-01 0.000000e+00 5.000000e-03 5.025000e-01 0.000000e+00 2.537500e-01 5.000000

我有一个文本文件“data.txt”,它是我的输入文件,看起来像这样:

    X                 Y             value
5.000000e-03    5.000000e-03    0.000000e+00    
5.000000e-03    2.537500e-01    0.000000e+00    
5.000000e-03    5.025000e-01    0.000000e+00    

2.537500e-01    5.000000e-03    0.000000e+00    
2.537500e-01    2.537500e-01    3.054417e-03    
2.537500e-01    5.025000e-01    1.949042e-04    

5.025000e-01    5.000000e-03    0.000000e+00    
5.025000e-01    2.537500e-01    1.949042e-04    
5.025000e-01    5.025000e-01    3.433153e-05    
我想用一种类似矩阵的形式来描绘它,例如,如果我们把矩阵
a
称为

A_{1 1} = 3.054417e-03
A_{1 2} = 1.949042e-04

等等。如何首先以类似矩阵的形式导入这些数据,然后绘制它们?

您可以使用NumPy的函数loadtxt:

import numpy as np

values = np.loadtxt('data.txt', skiprows=1, ndmin=0)
print(values)
输出:

[[  5.00000000e-03   5.00000000e-03   0.00000000e+00]
 [  5.00000000e-03   2.53750000e-01   0.00000000e+00]
 [  5.00000000e-03   5.02500000e-01   0.00000000e+00]
 [  2.53750000e-01   5.00000000e-03   0.00000000e+00]
 [  2.53750000e-01   2.53750000e-01   3.05441700e-03]
 [  2.53750000e-01   5.02500000e-01   1.94904200e-04]
 [  5.02500000e-01   5.00000000e-03   0.00000000e+00]
 [  5.02500000e-01   2.53750000e-01   1.94904200e-04]
 [  5.02500000e-01   5.02500000e-01   3.43315300e-05]]

尝试询问您最喜欢的搜索引擎ANKS@Makc,但由于此输出没有逗号来分隔元素,NummPy如何理解它是一个列表列表?loadtxt()参数中有“delimiter”,默认情况下,numpy会按任何空格字符分割值,因此在您的情况下,默认情况下它会像一个符咒一样工作。