下面打开的数据数组是代码我写了试图打开个人文件,它们是数据的长条并将其读入的阵列。基本上我有15次运行(24小时到360小时)的文件,每个文件有50次迭代,因此是两个循环。然后我尝试打开文件到一个数组中。当我尝试打印数组中的特定元素时,出现错误“文件”对象没有属性'getitem''。任何想法是什么问题?谢谢。试图填补与来自文件
#!/usr/bin/python
############################################
#
import csv
import sys
import numpy as np
import scipy as sp
#
#############################################
level = input("Enter a level: ");
LEVEL = str(level);
MODEL = raw_input("Enter a model: ");
NX = 360;
NY = 181;
date = 201409060000;
DATE = str(date);
#############################################
FileList = [];
data = [];
for j in range(1,51,1):
J = str(j);
for i in range(24,384,24):
I = str(i);
fileName = '/Users/alexg/ECMWF_DATA/DAT_FILES/'+MODEL+'_'+LEVEL+'_v_'+J+'_FT0'+I+'_'+DATE+'.dat';
FileList.append(fileName);
fo = open(fileName,"rb");
data.append(fo);
fo.close();
print data[1][1];
print FileList;
编辑补充: 下面,找到正确的数组的Python脚本应当以生产(抱歉,它不会让我张贴这种内嵌还):
http://i.stack.imgur.com/ItSxd.png
我现在碰到的问题,的是,所述输出矩阵的第一行中的前三个值是:
-7.090874
-7.004936
-6.920952
这些值实际上是第11行下面的阵列中,这是它应该如何看(在执行的前三个值MATLAB)。 python脚本输出的下三个值(如它认为是第二行)是:
-5.255577
-5.159874
-5.064171
这些值应该在第22行中找到。换句话说,python将第11行的值放在第一位,第22位放在第二位,依此类推。我不知道为什么,或者在我指定的代码中执行此操作。
请阅读此:http://legacy.python.org/dev/peps/pep-0008/ – jonrsharpe 2014-09-18 19:10:50
特别是:不要在每行的末尾放分号;不要随意混合不同的变量命名风格,而是一致而不是随意地缩进,并使用'with'语句而不是'close'。正如所写的,对于任何使用Python的人来说,这看起来都不像Python,这会减慢任何试图阅读并帮助你的人。 – abarnert 2014-09-18 19:17:24
不知道你正在使用什么代码,我们不能调试代码的错误。而且,由于它显然不是原始问题中的代码,因此您应该将此作为新问题发布,而不是编辑此问题。在你的新问题中,给我们一个完整的MCVE,带有(精简)可运行的源代码和输入(在文本中,不是截图),所以如果有人想直接调试它,而不是试图从第一原则推理他们可以(这通常是获得答案的更快方式)。 – abarnert 2014-09-19 17:41:35