Excel a tabla (Conversión)
Resumen
Convierte archivos de Microsoft Excel en una tabla.
Uso
-
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).
Cada campo contiene un tipo de datos uniforme. Los tipos de datos admitidos incluyen los siguientes: flotante, texto, fecha y booleano. Sin embargo, los campos booleanos se almacenan como enteros cortos.
Sintaxis
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á de forma predeterminada la primera hoja del libro. | String |
Ejemplo 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')