Excel vers table (Conversion)
Récapitulatif
Convertit des fichiers Microsoft Excel en table.
Utilisation
-
Excel vers table prend en charge les formats Classeurs Excel (.xlsx) et Classeur Microsoft Excel 5.0/95 (.xls) en entrée.
Cet outil part du principe que les données tabulaires sont triées verticalement. La première ligne est utilisée pour les noms des champs de la table en sortie. Ces noms de champs peuvent être renommés lors du processus de validation pour éviter les erreurs ou noms dupliqués. Les colonnes vides entre les données sont conservées et un nom de champ générique leur est attribué (par exemple field_4).
Chaque champ doit comporter un type de données uniforme. Les types de données pris en charge sont notamment les champs flottants, de texte, de date et booléens. Les champs booléens sont toutefois stockés en tant qu'entiers courts.
Syntaxe
Paramètre | Explication | Type de données |
Input_Excel_File |
Fichier Microsoft Excel à convertir. | File |
Output_Table |
Table en sortie. | Table |
Sheet (Facultatif) |
Le nom de la feuille en particulier au sein du fichier Excel à importer. Si le nom n'est pas précisé, la première feuille du classeur est utilisée par défaut. | String |
Exemple de code
Le script de fenêtre Python suivant montre comment utiliser la fonction ExcelToTable en mode immédiat.
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.ExcelToTable_conversion("data.xls", "outgdb.gdb", "Sheet1")
Importez chaque feuille d'un fichier Microsoft Excel dans des tables individuelles d'une géodatabase.
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')