Numpy 在一个目录中导入多个ascii文件,读取为数组,打印每个文件的行数和列数

Numpy 在一个目录中导入多个ascii文件,读取为数组,打印每个文件的行数和列数,numpy,pandas,scipy,arcpy,Numpy,Pandas,Scipy,Arcpy,作为对数百个ascii文件的基本检查,我想再次检查每个文件的行数和列数是否正确。每个文件的前6行不是每个文件包含的23x23矩阵的一部分。我尝试了各种读取矩阵大小的方法,将其转换为注释行(见下文),但现在我想我需要一种新的方法来读取数组,而不是arcpy的listTables。我也愿意使用熊猫中使用的模块。有什么想法吗?谢谢 import arcpy, numpy from arcpy import env env.workspace = r"C:\VMshared\small_example

作为对数百个ascii文件的基本检查,我想再次检查每个文件的行数和列数是否正确。每个文件的前6行不是每个文件包含的23x23矩阵的一部分。我尝试了各种读取矩阵大小的方法,将其转换为注释行(见下文),但现在我想我需要一种新的方法来读取数组,而不是arcpy的listTables。我也愿意使用熊猫中使用的模块。有什么想法吗?谢谢

import arcpy, numpy
from arcpy import env

env.workspace = r"C:\VMshared\small_example_valley5\SDepth1"

for file in arcpy.ListTables():
    #numpy.loadtxt(file,dtype = float, "#", delimiter = ' ', "#", skiprows = '6')
    outfile = numpy.loadtxt(file, skiprows = '6')
    print numpy.shape(outfile)
    #print enumerate(file)  
    #print len(file) + len(file.T)
    #print len(file) + map(len,file)

我认为numpy可以用来做这个

for file in arcpy.ListTables():
        outfile = numpy.loadtxt(file, delimiter=" ", skiprows = 6)
        if outfile.shape != (23,23):
            print file + " has an incorrect number of rows or columns"

我认为你和numpy的关系是对的。加载每个文件后,您可以检查形状是否正确。使用print numpy.shape(file)检查形状是否正确。但是,每次迭代都会将其作为以下输出:()--显然是空白矩阵。另一个注意事项是,分隔符是一个空格,而不是像CSV那样的逗号。如果我有误解,请原谅我,但你不应该改为numpy.shape(outfile)或outfile.shape吗?我没有想到这一点。缩进部分在新手的术语中会是什么样子?在print numpy.shape(outfile)中调用outfile变量之前,需要定义什么样的outfile变量?设置outfile就像设置它一样,然后将它的形状与所需的shapeHmmm进行比较。。。。。在我尝试你的代码之前我就看到了这个错误,所以可能是其他原因。运行时错误回溯(上次调用):文件“”,第7行,文件“C:\Python27\ArcGIS10.1\lib\site packages\numpy\lib\npyio.py”,第690行,loadtxt fh=iter(open(fname,'U'))IOError:[Errno 2]没有这样的文件或目录:U'snowdepthN0001.asc'谢谢,我想知道如何告诉代码标记可疑文件。该错误消息的奇怪之处在于,它正确地显示了实际的ascii文件名。因此,这些文件位于运行脚本/代码的同一目录中?如果我回答错误,很抱歉,但是没有,脚本保存在我的文档文件夹-C:\Users\afullhar\documents\ArcGIS中。您是否暗示它需要与ascii文件位于同一文件夹中?是的,或者您需要在尝试使用numpy加载ascii文件时指定其完整路径。该文件似乎就是文件名(例如“snowdepthN0001.asc”)。这有意义吗?好的,对我来说是个新闻,我所做的就是将脚本移动到包含ascii文件的文件夹中,然后从那里运行它。我认为包含文件的文件夹是完整路径目录,即r“C:\VMshared\small\u example\u valley5\SDepth1”。现在,如果我从该目录运行脚本,我会得到一个不同的错误:运行时错误回溯(上次调用):文件“”,第7行,文件“C:\Python27\ArcGIS10.1\lib\site packages\numpy\lib\npyio.py”,第751行,在loadtxt for I in xrange(skiprows)中:类型错误:需要一个整数