Импортировать много файлов ascii в каталог, читать как массив, печатать количество строк, столбцы для каждого файла
В качестве базовой проверки для сотен файлов ascii, я хотел бы перепроверить, что каждый из них имеет правильное количество строк и столбцов. Первые 6 строк каждого файла не являются частью матрицы матрицы 23x23, которая содержится в каждом. Я испробовал различные возможности для чтения размера матрицы, который я превратил в строки комментариев (ниже), но теперь я думаю, что мне нужен новый способ чтения массивов, отличных от списка арктических списков. Я был бы открыт для использования модулей, используемых в пандах. Есть идеи? Благодарю.
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)
1 ответ
Решение
Я думаю, что 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"