Zusammenfassung
Konvertiert Microsoft Excel-Dateien in eine Tabelle.
Verwendung
Excel in Tabelle unterstützt Excel-Arbeitsmappen (.xlsx) und Microsoft Excel 5.0/95-Arbeitsmappenformate (.xls) als Eingabe.
Dieses Werkzeug setzt vertikal sortierte Tabellendaten voraus. Die erste Zeile wird für die Feldnamen in der Ausgabetabelle verwendet. Diese Feldnamen können während des Validierungsprozesses umbenannt werden, um Fehler oder doppelte Namen zu vermeiden. Leere Spalten zwischen Daten werden beibehalten und erhalten einen generischen Feldnamen (z. B. field_4).
Der Datentyp des Ausgabefeldes basiert auf den Werten und der Zellenformatierung in der Eingabespalte. Die Datentypen des Ausgabefeldes enthalten Daten des Typs "Gleitkomma", "Text" und "Datum". Wenn eine Eingabespalte mehrere Daten- oder Formatierungstypen enthält, ist das Ausgabefeld vom Typ "Text".
Syntax
ExcelToTable_conversion (Input_Excel_File, Output_Table, {Sheet})
Parameter | Erläuterung | Datentyp |
Input_Excel_File | Die zu konvertierende Microsoft Excel-Datei. | File |
Output_Table | Dies ist die Ausgabetabelle. | Table |
Sheet (optional) | Der Name des Arbeitsblattes in der zu importierenden Excel-Datei. Falls keine Angabe erfolgt ist, wird die erste Arbeitsmappe verwendet. | String |
Codebeispiel
ExcelToTable – Beispiel (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht, wie die Funktion "ExcelToTable" im unmittelbaren Modus verwendet wird.
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.ExcelToTable_conversion("data.xls", "outgdb.gdb", "Sheet1")
ExcelToTable – Beispiel 2 (eigenständiges Skript)
Importiert jedes Arbeitsblatt einer Microsoft Excel-Datei in einzelne Tabellen in einer Geodatabase.
import os
import xlrd
import arcpy
def importallsheets(in_excel, out_gdb):
workbook = xlrd.open_workbook(in_excel)
sheets = [sheet.name for sheet in workbook.sheets()]
print('{} sheets found: {}'.format(len(sheets), ','.join(sheets)))
for sheet in sheets:
# The out_table is based on the input excel file name
# a underscore (_) separator followed by the sheet name
out_table = os.path.join(
out_gdb,
arcpy.ValidateTableName(
"{0}_{1}".format(os.path.basename(in_excel), sheet),
out_gdb))
print('Converting {} to {}'.format(sheet, out_table))
# Perform the conversion
arcpy.ExcelToTable_conversion(in_excel, out_table, sheet)
if __name__ == '__main__':
importallsheets('c:/data/data.xls',
'c:/data/outgdb.gdb')
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Ja
- ArcGIS Desktop Standard: Ja
- ArcGIS Desktop Advanced: Ja