Résumé
Convertit un tableau structuré Numpy en table.
Discussion
If a field name from the input array is invalid for the output format, it will be validated. All invalid characters in the input field name are replaced with an underscore (_) in the output field name. Field name restrictions depend on the specific database used.
NumPyArrayToTable ne remplacera pas une table existante, même si l'environnement overwriteOutput est défini sur Vrai.
NumPyArrayToTable n'accepte que les tableaux structurés. Si vous avez un NumPy ndarray standard, il devra tout d'abord être converti en tableau structuré. À continuation, nous transposons le tableau d'origine, et utilisons la méthode numpy.core.records.fromarrays pour créer le nouveau tableau structuré.
import numpy
import arcpy
import os
a = numpy.array([(0.2, 1.0), (0.5, 2.5)])
struct_array = numpy.core.records.fromarrays(
a.transpose(), numpy.dtype([('Value1', 'f8'), ('Value2', 'f8')]))
arcpy.da.NumPyArrayToTable(struct_array, 'c:/data/f.gdb/array_output')
NumPy is a fundamental package for scientific computing in Python, including support for a powerful N-dimensional array object. For more information, see Working with NumPy in ArcGIS.
Syntaxe
NumPyArrayToTable (in_array, out_table)
Paramètre | Explication | Type de données |
in_array | Tableau structuré NumPy Le tableau doit comprendre des noms de champs et des dtypes NumPy | NumPyArray |
out_table | The table to which the records from the NumPy array will be written. | String |
Exemple de code
import arcpy
import numpy
# Create a simple array from scratch
#
inarray = numpy.array([('a', 1, 1111.0), ('b', 2, 2222.22)],
numpy.dtype([('textfield', '|S256'),
('intfield',numpy.int32),
('doublefield','<f8')]))
# Convert array to a geodatabase table
#
arcpy.da.NumPyArrayToTable(inarray, "c:/data/gdb.gdb/out_table")
import arcpy
import numpy
# Create a simple array from scratch using a list of values
#
recs = [['M', 64, 75.0],['F', 25, 60.0]]
dts = {'names': ('gender','age','weight'),
'formats':('S1', numpy.uint8, numpy.float32)}
array = numpy.rec.fromrecords(recs, dtype=dts)
# Convert array to a geodatabase table
#
arcpy.da.NumPyArrayToTable(array, "c:/data/gdb.gdb/out_table")
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?