Excel in Tabelle (Conversion)

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(Input_Excel_File, Output_Table, {Sheet})
ParameterErklärungDatentyp
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')

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen