Résumé
A value table is a flexible object that can be used as input for a multivalue parameter. It exists only during the lifetime of the geoprocessing object that created it.
Discussion
setRow's value argument is space delimited. Any value used in the value argument that contains spaces must be enclosed in quotations. In the following example, a value table with two columns has a feature class and an index value added:
value_table.setRow(0, "'c:/temp/land use.shp' 2")
Syntaxe
ValueTable ({columns})
Paramètre | Explication | Type de données |
columns | The number of columns. (La valeur par défaut est 1) | Integer |
Propriétés
Propriété | Explication | Type de données |
columnCount (Lecture seule) | The number of columns. | Integer |
rowCount (Lecture seule) | The number of rows. | Integer |
Vue d’ensemble des méthodes
Méthode | Explication |
addRow (value) | Adds a row to the value table. |
exportToString () | Exports the object to its string representation. |
getRow (row) | Gets a row from the value table. |
getTrueValue (row, column) | Gets value from a given column and row. |
getValue (row, column) | Gets value from a given column and row. |
loadFromString (string) | Restore the object using its string representation. The exportToString method can be used to create a string representation. |
removeRow (row) | Deletes a row from the value table. |
setColumns (number_of_columns) | Sets the number of columns for the value table. |
setRow (row, value) | Met à jour une ligne donnée de la table de valeurs. L'argument Value de setRow est séparé par des espaces. Placez entre guillemets toute valeur contenant des espaces à utiliser dans l'argument Value. Dans l'exemple suivant, une classe d'entités et une valeur d'index sont ajoutées dans une table de valeurs à deux colonnes :
|
setValue (row, column, value) | Met à jour la valeur d'une ligne et d'une colonne données. |
Méthodes
addRow (value)
Paramètre | Explication | Type de données |
value | The row to be added. The value argument is space-delimited. Any value used that contains spaces must be enclosed in quotations. In the following example, a value table with two columns has a feature class and an index value added:
| Object |
exportToString ()
Type de données | Explication |
String | The string representation of the object. |
getRow (row)
Paramètre | Explication | Type de données |
row | The row index position. | Integer |
Type de données | Explication |
String | A row from the value table. |
getTrueValue (row, column)
Paramètre | Explication | Type de données |
row | The row index position. | Integer |
column | The column index position. | Integer |
Type de données | Explication |
String | The value of a given column and row. |
getValue (row, column)
Paramètre | Explication | Type de données |
row | The row index position. | Integer |
column | The column index position. | Integer |
Type de données | Explication |
String | The value of a given column and row. |
loadFromString (string)
Paramètre | Explication | Type de données |
string | The string representation of the object. | String |
removeRow (row)
Paramètre | Explication | Type de données |
row | The index position of the row to remove. | Integer |
setColumns (number_of_columns)
Paramètre | Explication | Type de données |
number_of_columns | The number of columns for the value table. | Integer |
setRow (row, value)
Paramètre | Explication | Type de données |
row | The index position of the row to update. | Integer |
value | The value to update the given row. | Object |
setValue (row, column, value)
Paramètre | Explication | Type de données |
row | The row index. | Integer |
column | The column index | Integer |
value | The value to update the given row and column. | Object |
Exemple de code
Use ValueTable to hold feature class names and ranks for the Union tool.
import arcpy
# Set the workspace. List all of the feature classes in the dataset
arcpy.env.workspace = "c:/data/landbase.gdb/Wetlands"
feature_classes = arcpy.ListFeatureClasses()
# Create the value table for the Analysis Union tool with 2 columns
value_table = arcpy.ValueTable(2)
# Iterate through the list of feature classes
for fc in feature_classes:
# Update the value table with a rank of 2 for each record, except
# for BigBog
if fc.lower() != "bigbog":
value_table.addRow(fc + " 2")
else:
value_table.addRow(fc + " 1")
# Union the wetlands feature classes with the land use feature class to create
# a single feature class with all of the wetlands and land use data
value_table.addRow("c:/data/landbase.gdb/land_use 2")
arcpy.Union_analysis(value_table, "c:/data/landbase.gdb/wetlands_use")
A value table can be populated with a multivalue string that has been passed to a script as an argument, making it easy to extract each record. The example below shows how to do this:
import os
import arcpy
# Set the output workspace
arcpy.env.workspace = arcpy.GetParameterAsText(1)
# Create a value table with 2 columns
value_table = arcpy.ValueTable(2)
# Set the values of the table with the contents of the first argument
value_table.loadFromString(arcpy.GetParameterAsText(0))
# Loop through the list of inputs
for i in range(0, value_table.rowCount):
# Validate the output name for the new workspace
name = value_table.getRow(i)
out_name = arcpy.ValidateTableName(os.path.basename(name))
# Copy the features to the new workspace
arcpy.CopyFeatures_management(name, out_name)
Vous avez un commentaire à formuler concernant cette rubrique ?