Resumen
Convierte archivos de Microsoft Excel en una tabla.
Uso
De Excel a tabla admite como entrada los formatos de libros de Excel (.xlsx) y libros de Microsoft Excel 5.0/95 (.xls).
Esta herramienta asume que los datos tabulares están ordenados verticalmente. La primera fila se utiliza como los nombres de campo de la tabla de salida. Estos nombres de campo se pueden cambiar durante el proceso de validación para evitar errores o nombres duplicados. Las columnas vacías entre los datos se conservan y se les asigna un nombre de campo genérico (field_4, por ejemplo).
El tipo de datos del campo de salida se basa en los valores y en el formato de las celdas de la columna de entrada. Los tipos de datos del campo de salida incluyen los siguientes: flotante, texto y fecha. Si una columna de entrada contiene más de un tipo de datos o de formato, el tipo del campo de salida será de texto.
Sintaxis
ExcelToTable(Input_Excel_File, Output_Table, {Sheet})
Parámetro | Explicación | Tipo de datos |
Input_Excel_File | Archivo de Microsoft Excel para convertir. | File |
Output_Table | La tabla de salida. | Table |
Sheet (Opcional) | Nombre de la hoja concreta dentro del archivo Excel que se va a importar. Si no se especifica, se utilizará la primera hoja del libro. | String |
Muestra de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función ExcelToTable en el modo inmediato.
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.ExcelToTable_conversion("data.xls", "outgdb.gdb", "Sheet1")
Importa cada hoja de un archivo de Microsoft Excel en tablas individuales en una 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')
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí