Excel в таблицу (Конвертация)

Сводка

Конвертирует файлы Microsoft Excel в таблицу.

Использование

  • Excel в таблицу поддерживает форматы Excel Workbooks (.xlsx) и Microsoft Excel 5.0/95 Workbook (.xls) в качестве входных данных.

  • Инструмент предполагает вертикальную ориентацию табличных данных. Первая строка используется как имена полей выходной таблицы. Эти имена полей можно изменить во время проверки, чтобы избежать ошибок и удвоения имен. Пустые колонки между данными сохраняются, им присваивается исходное имя (например, field_4).

  • Тип данных выходного поля основан на значениях и формате ячеек входного столбца. К типам данных выходного поля относятся данные с плавающей точкой, текст и дата. Если входной столбец содержит более одного типа данных или формата, выходное поле будет текстового типа.

Синтаксис

ExcelToTable(Input_Excel_File, Output_Table, {Sheet})
ParameterОбъяснениеТип данных
Input_Excel_File

Файл Microsoft Excel для конвертации.

File
Output_Table

Выходная таблица.

Table
Sheet
(Дополнительный)

Имя отдельного листа файла Excel для импорта. Если не указано иное, используется первый лист книги.

String

Пример кода

ExcelToTable, пример (окно Python)

Пример скрипта Python для использования функции ExcelToTable с запуском из окна Python.

import arcpy
arcpy.env.workspace = "c:/data"
arcpy.ExcelToTable_conversion("data.xls", "outgdb.gdb", "Sheet1")
ExcelToTable, пример 2 (автономный скрипт)

Импорт каждого листа из файла Microsoft Excel в отдельные таблицы базы геоданных.

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')

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы