Python 将csv解析为多维数组

Python 将csv解析为多维数组,python,csv,Python,Csv,我无法将csv解析为多维数组。 下面是我最后一次尝试和一段数据。所有csv文件的结构相同,但行数不同 最后,我需要能够调用rawTime[][]并返回一个值 fileNames = ['LT6105-50M.txt', 'LT6105-20M.txt', 'LT6105-10M.txt', 'LT6105-5M.txt'] rawTime = [[[0 for col in range(3)]for row in range(1)] for x in range(1)] rawData = [

我无法将csv解析为多维数组。 下面是我最后一次尝试和一段数据。所有csv文件的结构相同,但行数不同

最后,我需要能够调用
rawTime[][]
并返回一个值

fileNames = ['LT6105-50M.txt', 'LT6105-20M.txt', 'LT6105-10M.txt', 'LT6105-5M.txt']

rawTime = [[[0 for col in range(3)]for row in range(1)] for x in range(1)]
rawData = [[[0 for col in range(3)]for row in range(1)] for x in range(1)]
rawCurrent = [[[0 for col in range(3)]for row in range(1)] for x in range(1)]
#rawLabels = []

rangeIndex = 0
for i in range(0, len(fileNames)):
    dataFile = open(fileNames[i], "r")
    rLoadindex = 0

    try:
        reader = csv.reader(dataFile, delimiter='\t')
        #Ignore header
        dataFile.next()

        #Start parsing lines
        for row in reader:
            try:
                rawTime.append([rangeIndex, rLoadindex, float(row[0])])
                rawData.append([rangeIndex, rLoadindex, float(row[1])])
                rawCurrent.append([rangeIndex, rLoadindex, float(row[2])])

            except:
                matchObj = re.search( r'Rload=[0-9.]+K', row[0])
                if matchObj:
                    #print  "Match: ", matchObj.group()
                    #rawLabels.append(matchObj.group())

                    rLoadindex = rLoadindex + 1
                else:
                    print "No match found", str(row)
                    pass

        #Done parsing per file
        rangeIndex = rangeIndex + 1

    finally:
        dataFile.close()
样本数据:

时间V(out)I(R8)
步骤信息:Rload=350K(运行:1/19)
0.000000000000000 E+000 0.000000 E+000 0.000000 E+000
7.812500091297636e-010 5.023578e-008 5.580119e-010
步骤信息:Rload=330K(运行:2/19)
0.000000000000000e+000-1.627455e-002-6.274048e-013
7.812500091297636e-010-1.627346e-002 5.912035e-010
1.562500018259527e-009-1.627140e-002 1.183048e-009
电流输出:

[[0,1,3.12500036519054E-09],[0,1,6.25000073038109E-09],[0,1,1.250000014607622e-08]…]

问题是无法使用以下格式访问数据:
rawTime[0][1]应返回3.12500036519054E-09

我的代码不起作用的另一个例子:

for rangeIndex in range(0, len(rawTime)):
    for rLoadIndex in range(0, len(rawTime[rangeIndex])):
            print ('%d, %d, %f' %(rangeIndex, rLoadIndex,   rawTime[rangeIndex][rLoadIndex]) )
我希望从我提供的样本数据中得到结果:
0,0,0.000
0,1,7.8125e-010
1,0,0.000
1,1,7.8125e-010
1,2,1.5625e-009

相反,我看到的是我的输出:

0, 0, 0.000000
0, 1, 1.000000
0, 2, 0.000000
1, 0, 0.000000
1, 1, 1.000000
1, 2, 0.000000
2, 0, 0.000000
2, 1, 1.000000
2, 2, 0.000000

您需要
步骤信息:Rload=330K(运行:2/19)
信息,对吗?还是时间够了?到底怎么了?一个错误,错误的数据。。。给定输入的输出应该是什么样的?你应该提问并添加至少一个输入数据样本,再显示当前和/或所需的输出。ppasler,我确实需要知道Rload值。我能解析它。我只是忽略它,直到我可以得到其余的值(时间、数据、当前值)。如果“当前输出”正确,rawTime[0][1]应该返回1,rawTime[0][2]应该返回您要查找的值。