Synthèse
The NumPyArrayToTable function converts a NumPy structured array to a table.
Discussion
Si un nom de champ du tableau en entrée n'est pas valide pour le format de sortie, il sera validé. Tous les caractères non valides du nom de champ en entrée sont remplacés par un trait de soulignement (_) dans le nom de champ en sortie. Les restrictions de nom de champ dépendent de la base de données spécifique utilisée.
NumPyArrayToTable will not overwrite an existing table, even if the overwriteOutput environment is set to True.
NumPyArrayToTable only accepts structured arrays. If you have a regular NumPy ndarray, it must first be converted to a structured array. Below, the original array is transposed, and the numpy.core.records.fromarrays method is used to create the new structured array.
import numpy
import arcpy
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 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 ?