行の削除 (Delete Rows) (データ管理)

サマリー

すべての行または選択した行のサブセットを入力から削除します。

すべての行が削除されるか行のサブセットが削除されるかは、次の入力内容によって決まります。

  • 入力がフィーチャクラスまたはテーブルの場合は、すべての行が削除されます。
  • 入力が選択セットのないレイヤーまたはテーブル ビューの場合は、すべての行が削除されます。
  • 入力が選択されたレイヤーまたはテーブル ビューの場合は、選択された行だけが削除されます。

使用法

  • [入力行] パラメーターの値として、dBASE テーブル、エンタープライズ/ファイル ジオデータベース テーブルまたはフィーチャクラス、シェープファイル、レイヤー、テーブル ビューを指定できます。

  • このツールをフィーチャ データで使用する場合は、ジオメトリを含む行全体が削除されます。

  • 注意:

    多数の行を含むテーブルからすべての行を削除する場合は、時間がかかる可能性があります。 すべての行を削除したい場合は、[テーブルの切詰め (Truncate Table)] ツールの使用を検討してください。 このツールを使用する際の重要な注意事項については、[テーブルの切詰め (Truncate Table)] ツールのマニュアルをご参照ください。

パラメーター

ラベル説明データ タイプ
入力テーブル

行を削除するフィーチャクラス、レイヤー、テーブル、またはテーブル ビュー。

Table View

派生した出力

ラベル説明データ タイプ
削除された行のある更新された入力

更新された入力。

Table View

arcpy.management.DeleteRows(in_rows)
名前説明データ タイプ
in_rows

行を削除するフィーチャクラス、レイヤー、テーブル、またはテーブル ビュー。

Table View

派生した出力

名前説明データ タイプ
out_table

更新された入力。

Table View

コードのサンプル

DeleteRows の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで DeleteRows 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.CopyRows("accident.dbf", "C:/output/accident2.dbf")
arcpy.management.DeleteRows("C:/output/accident2.dbf")
DeleteRows (行の削除) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、式に基づいて行を削除するために DeleteRows 関数を使用する方法を示しています。

# Description: Delete rows from a table based on an expression
 
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set local variables
inTable = "accident.dbf"
outTable = "C:/output/new_accident.dbf"
tempTableView = "accidentTableView"
expression = arcpy.AddFieldDelimiters(tempTableView, "Measure") + " = 0"
 
# Run CopyRows to make a new copy of the table
arcpy.management.CopyRows(inTable, outTable)

# Run MakeTableView
arcpy.management.MakeTableView(outTable, tempTableView)

# Run SelectLayerByAttribute to determine which rows to delete
arcpy.management.SelectLayerByAttribute(tempTableView, "NEW_SELECTION", 
                                        expression)

# Run GetCount and if some features have been selected, run
#  DeleteRows to remove the selected rows.
if int(arcpy.management.GetCount(tempTableView)[0]) > 0:
    arcpy.management.DeleteRows(tempTableView)

関連トピック